2012-05-18 127 views
5

我絕對無處不在(我認爲),似乎無法找到一種方法來在html5音頻控制器中調用停止事件。我的音頻控制器有一個播放列表,每個軌道在播放時會播放,或者在每個軌道上循環播放。還有一個可用的下一個按鈕。HTML5音頻控制停止按鈕(而不是暫停)

我的播放/暫停按鈕看起來是這樣的:

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

我需要一個「停止」按鈕停止音頻,並回到當前正在播放的曲目的開始。不知何故,我想過使用當前的播放位置,但無法讓我的頭在附近。

我也試過這(通過在這裏的另一個問題諮詢改編),都無濟於事:

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

任何想法?

回答

10

如果您的播放/暫停工作,這應該停止工作:

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

所以它確實完美!我不得不在標記名後面添加'[0]'以使其與我的播放列表一起工作。謝謝! (對不起,我不能用我可憐的聲譽爲1投票) – yolise

+0

@yolise對不起,'getElementsByTagName'返回一個列表。我會投你的問題,這將有所幫助;) – robertc

+0

audioelement.src = audioelement.src;也起作用。 –

2

這裏是一個小的演示代碼,您可以播放,暫停和停止音頻。

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

如果要停止第m USIC並中止下載操作時,你可以使用此代碼:

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

我們正在使用Java此處更改歌曲SRC,然後把它放回去那裏!棘手但很有作用

相關問題