Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Suoni in Chat con AJAX - ASP e JAVASCRIPT
Forum - Javascript - Suoni in Chat con AJAX - ASP e JAVASCRIPT

Avatar
hemmaus (Normal User)
Pro


Messaggi: 96
Iscritto: 15/07/2009

Segnala al moderatore
Postato alle 21:30
Domenica, 12/09/2010
Questo topic è stato chiuso dal moderatore

Salve a tutti, premetto che sono un novello di AJAX.
Ho implementato una chat Operatore per il sito aziendale in AJAX e ASP.
In breve il cliente chatta direttamente con l'operatore meno impegnato.
La chat funziona benissimo.

Il problema è sorto nel momento in cui si è presentata la necessità di far udire un suono all'operatore quando il cliente digita.

Ho utilizzato <embed> interagendo con Javascript e il suono si sente solo all'avvio della conversaizione, probabilmente perchè Ajax refresh una sola volta il <div>.

Cosa ne pensate? chi può aiutarmi ?
Grazie.

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:53
Lunedì, 13/09/2010
Ci sono molti tutorial che suggeriscono di utilizzare la funzione .play() di un elemento embed, ma questa non va (magari è diventata obsoleta ed è stata rimossa, no so). Ho trovato un trucchetto poco elegante, ma che almeno funziona (più o meno). Devi aggiungere un nuovo elemento embed alla pagina con js e impostare autostart su true: quando verrà aggiunto, inizierà automaticamente, e lo aggiungi solo quando devi far eseguire il suono.
Esempio:
Codice sorgente - presumibilmente Javascript

  1. var soundEmbed = null;
  2.        
  3.         function playBeep(which)
  4.         {
  5.             if (soundEmbed)
  6.             {
  7.                 document.body.removeChild(soundEmbed);
  8.                 soundEmbed.removed = true;
  9.                 soundEmbed = null;
  10.             }
  11.             soundEmbed = document.createElement("embed");
  12.             soundEmbed.setAttribute("src", "beep.wma");
  13.             soundEmbed.setAttribute("hidden", true);
  14.             soundEmbed.setAttribute("autostart", true);
  15.             soundEmbed.removed = false;
  16.             document.body.appendChild(soundEmbed);
  17.         }


PM
Avatar
hemmaus (Normal User)
Pro


Messaggi: 96
Iscritto: 15/07/2009

Segnala al moderatore
Postato alle 23:36
Lunedì, 13/09/2010
Ciao,
grazie per aver risposto.
L'idea mi sembra geniale, tuttavia non riesco a farla funzionare.

Mi spieghi cosa passo alla funzione in (which)?
Probabilmente sbaglio lì.

Non credi sia necessario inserire anche:

soundEmbed.setAttribute("enablejavascript", true);

oppure dove posso sbagliare ? non sento nessun suono con questa funzione.
Devo richiamarla in qualche modo particolare? , io provo così da ASP:

response.write("<script type='text/javascript'>playBeep()</script>")

ma anche in Html non funziona.
Grazie per la risposta.

PM
Avatar
hemmaus (Normal User)
Pro


Messaggi: 96
Iscritto: 15/07/2009

Segnala al moderatore
Postato alle 0:14
Martedì, 14/09/2010
Grazie,
ho rivisto il codice mancava un ; tutto perfetto.
Ottimo suggerimento. :idea:

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:13
Martedì, 14/09/2010
Comunque il which sarebbe dovuto essere il nome del file da riprodurre, ma poiché avevo sempre lo stesso suono ho inserito il nome direttamente nella stringa e mi sono dimenticato di togliere il parametro.

PM