我正在使用名爲audio.js的JavaScript填充程序來爲閃回提供HTML5音頻。我現在已經在所有現代瀏覽器,Android和iOs上工作了,但有一個問題我看起來無法修復,那就是在Firefox或Android中,當我使用在軌道結尾觸發的回調函數時,我無法重播音頻。該文件在播放結束時卡住。用於HTML5的javascript填充程序音頻問題
該項目是一個幻燈片,其邏輯取決於每個軌道結束時觸發的回調。以下是我想要使用的回調:
audio.trackEnded=function() {
// operate on the DOM
}
,這裏是從audio.js API位:
trackEnded: function(e) {
this.skipTo.apply(this, [0]);
if (!this.settings.loop) this.pause.apply(this);
this.settings.trackEnded.apply(this);
}
我沒有任何運氣鑽研API來揣摩瞭解如何重置音頻文件。我所知道的是,無論我放在trackEnded函數中,在需要使用閃存的瀏覽器中,文件最後都會凍結,當我刪除該函數時,音頻重置得很好。並試圖通過設置currentTime = 0來操作音頻元素本身;打破了整個事情。
這裏的音頻凍結,您可以點擊進入幻燈片後看到的演示:
http://www.jontakiff.com/audio-playback/skeleton.html
任何深入瞭解我怎麼可能去解決,這將是超級讚賞。
編輯:這裏有一個鏈接到audio.js API:http://kolber.github.com/audiojs/docs/
你是用純JavaScript編碼的,還是使用jQuery,dojo或Mootools等庫? –
我正在使用jQuery。 – johnnyb