2012-05-18 6 views
5

Sono stato assolutamente ovunque (credo) e non riesco a trovare un modo per chiamare un evento di arresto in un controller audio html5. Il mio controller audio ha una playlist in cui ogni traccia verrà riprodotta quando selezionata o passerà ciclicamente da una traccia all'altra. C'è anche un pulsante successivo che funziona.Pulsante interruzione controllo audio HTML5 (contrariamente alla pausa)

mio pulsante Riproduci/Pausa appare così:

` function playPause() { 
     var audioPlayer = document.getElementsByTagName('audio')[0]; 
     if(audioPlayer!=undefined) { 
      if (audioPlayer.paused) { 
       audioPlayer.play(); 
      } else { 
       audioPlayer.pause(); 
      } 
     } else { 
      loadPlayer(); 
     } 
    } 
` 

ho bisogno di un pulsante "Stop" che arresta l'audio e risale all'inizio del brano attualmente in riproduzione. Ho pensato di usare la posizione di riproduzione corrente in qualche modo, ma non riesco a capirlo.

Ho anche provato questo (adattato da consiglio qui in un'altra domanda), senza alcun risultato:

` function stop() { 
     var audioPlayer = document.getElementsByTagName('audio'); 
     addEventListener('loadedmetadata', function() { 
     this.currentTime = 0; 
      }, false); 
     } 
` 

Tutte le idee?

risposta

10

Se il play/pausa funziona, questo dovrebbe funzionare per l'arresto:

function stop() { 
    var audioPlayer = document.getElementsByTagName('audio')[0]; 
    audioPlayer.pause(); 
    audioPlayer.currentTime = 0; 
} 
+0

E così, perfettamente! Ho dovuto aggiungere '[0]' dopo il tagname per farlo funzionare con le mie playlist. Grazie! (Mi dispiace non posso votare con la mia reputazione patetica di 1.) – yolise

+0

@ yolise Sì, mi dispiace, 'getElementsByTagName' restituisce una lista. Voterò la tua domanda, che ti sarà d'aiuto;) – robertc

+0

audioelement.src = audioelement.src; funziona anche –

2

Ecco un codice demo piccolo, dove si può giocare, mettere in pausa e fermare un audio.

Live Demo

HTML

<input type="button" value="play" id="playBtn" /> 
<input type="button" value="pause" id="pauseBtn" /> 
<input type="button" value="stop" id="stopBtn" /> 

Jquery

var source = "http://www.giorgiosardo.com/HTML5/audio/audio/sample.mp3" 
var audio = document.createElement("audio"); 
audio.src = source; 

$("#playBtn").click(function() { 
    audio.play(); 
}); 

$("#pauseBtn").click(function() { 
    audio.pause(); 
}); 

$("#stopBtn").click(function() { 
    audio.pause(); 
    audio.currentTime = 0; 
}); 

Source

0

Se si desidera interrompere il m USIC e interrompere l'operazione di download è possibile utilizzare questo codice:

<button id="btnStop" onclick="player.src = ''; player.src = 'song.mp3';">Stop</button> 

Stiamo usando java qui per cambiare lo src canzone e poi rimetterlo lì! Ingannevole ma funzionale