我設置了一個包含節點的HTML5頁面。 頁面將播放音樂(mp3格式),但它只是播放聲音結束,並且我使用javascript來控制音頻元素,即使如此,我也無法播放它,只能停止。HTML音頻元素如何重播?
HTML5音頻元素是否支持REPLAY?以及如何?
我設置了一個包含節點的HTML5頁面。 頁面將播放音樂(mp3格式),但它只是播放聲音結束,並且我使用javascript來控制音頻元素,即使如此,我也無法播放它,只能停止。HTML音頻元素如何重播?
HTML5音頻元素是否支持REPLAY?以及如何?
請詳細閱讀本
和重播事件
您可以設置選項,在重播點擊
audioElement.currentTime=0;
audioElement.play();
你可以試試這個:
<audio id="audiotag1" src="audio/flute_c_long_01.wav" preload="auto"></audio>
<a href="javascript:play_single_sound();">Play 5-sec sound on single channel</a>
<script type="text/javascript">
function play_single_sound() {
document.getElementById('audiotag1').play();
}
</script>
上述建議並沒有爲我或者不適用的工作。當我的代碼需要這樣做時,我需要重播聲音。
下面的代碼工作(至少鉻):
audioElement.setAttribute( 'SRC',audioSrc); audioElement.play();
換句話說,重新設置src屬性,然後播放()做的工作
這是行得通的,但每次都會對聲音庫發出新的請求。 – valkirilov
@valkirilov但它適用於https://code.google.com/p/chromium/issues/detail?id=121765 – user7610
如果託管視頻不支持查找客戶端(HTTP RangeRequest),命令
audioElement.currentTime=0;
服務器來自@ JapanPro的
的答案在Chromium中被默默忽略。此行爲填充爲crbug #121765。
有一個handy guide on MDN how to configure your server發揮不錯。但是,如果你不能,我有成功有做
audioElement.load();
這勿庸置疑重新加載音頻源,力求開始作爲一個副作用。不好,但它很直觀,而且很有效。
來源:http://www.whatwg.org/specs/web-apps/current-work/#loading-the-media-resource
不使用node.load()
這樣的方式,對於慢速設備太慢。
要停止,您應該只使用:
node.currentTime = 0
要重播,你可以這樣做:
node.currentTime = 0
node.play()
這不適用於每個瀏覽器。 '。load()'然後'.play()'總能正常工作,但它可能會使用更多的數據... – Basj