2013-03-27 3 views
5

ciao ho una casella di avviso messaggio che appare quando un utente riceve un nuovo messaggio, quello che voglio fare è aggiungere suono a questa casella quando si apre, sto usando un'istruzione php se per controllare quando un utente ottiene un nuovo messaggio e ho provato ad aggiungere suono facendo quanto segue, ma non funziona, per favore qualcuno può mostrarmi come farlo. Grazie.riprodurre la clip audio quando php/mysql se l'istruzione è vera?

<?php 
$check_new_chats = check_new_chats(); 
while ($chat = mysql_fetch_array($check_new_chats)) 
if (isset($_SESSION['user_id'])) { 
     if ($chat['to_user_id'] == $_SESSION['user_id']){ 
     echo("<embed name='sound_file' src='/assets/music/sound_file.mp3' loop='true' hidden='true' autostart='true'/>"); ?> 
+0

Forse non correlato, ma tale codice deve essere racchiuso tra parentesi '{}' dal ciclo 'while'? – hellohellosharp

+0

Immagino che questo non sia davvero un problema PHP/MySQL ... hai controllato se il tag embed è parte del tuo sorgente di pagina? –

risposta

3
<?php 
$check_new_chats = check_new_chats(); 
while ($chat = mysql_fetch_array($check_new_chats)) 
if (isset($_SESSION['user_id'])) { 
    if($chat['to_user_id'] == $_SESSION['user_id']){ 
     echo '<script type="text/javascript">play_sound();</script>'; 
    } 
} 
?> 

Ecco la funzione Javascript:

<script type="text/javascript"> 
    function play_sound() { 
     var audioElement = document.createElement('audio'); 
     audioElement.setAttribute('src', '/assets/music/sound_file.mp3'); 
     audioElement.setAttribute('autoplay', 'autoplay'); 
     audioElement.load(); 
     audioElement.play(); 
    } 
</script> 
+0

grazie per thins, ho provato questo, ma ancora nessun file audio viene riprodotto. –

+0

@JamesPale Ho provato questo, sicuramente funzionante. Verifica che il tuo percorso sia corretto. –

+0

non succede niente, solo suoni, niente errori. –

1

Secondo la domanda:

hi ho una finestra di messaggio di avviso che viene visualizzato quando un utente ottiene una nuova messaggio, quello che voglio fare è aggiungere suono a questa casella quando si apre

Hai già una sorta di funzione JavaScript che visualizza una finestra di avviso quando necessario. Usa le informazioni da this answer per riprodurre un suono con esso.

<audio id="soundHandle" style="display: none;"></audio> 
<script> 
    soundHandle = document.getElementById('soundHandle'); 
    soundHandle.src = '/assets/music/sound_file.mp3'; 
</script> 



//With your message alert function.... 
alert("Message box"); 
soundHandle.play(); 
Problemi correlati