我在瀏覽器中創建了簡單的音頻播放器,但有一些麻煩。 例如,我的html代碼中有20個音頻標籤。在瀏覽器中播放音頻的正確方法?
<audio class="tr_audio">
<source src="track1.mp3" type="audio/mpeg">
<source src="ogg/track1.ogg" type="audio/ogg">
</audio>
<audio class="tr_audio">
<source src="track2.mp3" type="audio/mpeg">
<source src="ogg/track2.ogg" type="audio/ogg">
</audio>
<audio class="tr_audio">
<source src="track3.mp3" type="audio/mpeg">
<source src="ogg/track3.ogg" type="audio/ogg">
</audio>
...
<audio class="tr_audio">
<source src="track20.mp3" type="audio/mpeg">
<source src="ogg/track20.ogg" type="audio/ogg">
</audio>
並且具有20個項目的列表。一個軌道的一個項目。我點擊事件播放它。麻煩的是,當頁面加載緩存中加載的所有20個曲目,對不對?有些曲目可能根本無法加載或部分加載。所以,嘗試播放這樣的曲目將會失敗。 (例如track17沒有加載,如果我點擊item17歌曲將不會播放)。另外,我停止上一首歌曲這樣
$('.'+part+'_audio')[song_number].currentTime = 0;
$('.' part '_audio')[song_number].pause();
所以,如果上一曲目還沒有完全負載還是被部分加載,這串
`$('.'+part+'_audio')[song_number].currentTime = 0;`
將返回錯誤未被捕獲的錯誤:INVALID_STATE_ERR:DOM例外11. 所以我必須多次重新加載頁面 - 然後所有20首歌曲將加載到我的緩存中,並且播放將無誤地發生。但這是錯誤的。請告訴我是正確的。 謝謝!
你可以在這裏看到我的播放器(不是廣告):http://www.pompeya-for.me
我剛開始學習jQuery和實踐創造這個播放器 - 請不要用「印度守則」休克。
'$('。'part'_audio')'?我假設你的意思是'$('。'+ part +'_ audio')'。請注意'+號。 –
是的,當然! '+'符號因某些原因而消失。 –