2013-10-15 95 views
0

我在每個頁面上都有大約50個句子,並且每個人都點擊了特定的短mp3(200-300KB)。如何預加載mp3文件

<p class='sent' id='01/01.mp3'>some text</p> 
<p class='sent' id='01/02.mp3'>some text</p> 
<p class='sent' id='01/03.mp3'>some text</p> 
.... 

JS

$(".sent").click(function() { 
abc=$(this).attr('id'); 
$('#player').html("<embed src=\""+abc+"\" hidden=\"true\" autostart=\"true\" loop=\"" + loop +"\" />"); 
}); 

我喜歡這個解決方案在html5 audio tag由於火狐/鉻的相容性,即我並不需要大量的文件轉換從mp3ogg,但不足之處是MP3文件沒有預先加載,所以點擊和播放之間會有很大的沉默。

任何預裝mp3文件的解決方案?
或者,也許更好的完整解決方案?

+0

我會推薦使用html5音頻,或者使用通過flash加載的mp3。這兩種技術都有預加載mp3的方法。 – user120242

回答

1

看來你的jQuery腳本使用html5音頻標籤屬性。 您可以嘗試預加載屬性。 preload = auto;

編輯:順便說一下,這個屬性說,開始加載文件,一旦頁面開始加載 如果你想檢查文件是否先加載然後播放它,你可以使用on事件。

+0

MentalRay,我會嘗試,但我認爲'嵌入'一個對象是來自本地'html5音頻'的另一個故事。 – bonaca

+0

@MentalRay,它使用嵌入標籤,而不是html5音頻 – user120242

+0

@ user120242因爲所有這些兼容性問題,並且事實上您需要預加載,爲什麼不試試jPlayer? – MentalRay