2013-05-06 37 views
0

我目前使用下面的方式在我的網站上播放音效。我需要的聲音播放出來,每次我從我的奴隸設備接收的協議:在html中預加載我的音頻文件

<script> 
function RxProtocol() 
{ 
    playSound('audio123.wav'); 
} 

function playSound(soundfile) 
{ 
    document.getElementById("dummy").innerHTML= 
    "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />"; 
} 
</script> 

<body> 
<span id="dummy"></span> 
</body> 

但是好像這種方式播放的音頻延遲每次。我收到我的協議2秒後,只播放音頻。

是因爲我沒有預加載音頻嗎?你們可以教我如何修改我的代碼並使其進入預加載啓用狀態嗎?

+0

我不認爲你可以預載音頻文件。什麼是調用'RxProtocol()'的代碼?也許延遲就在那裏。 – 2013-05-06 07:52:03

+0

是嗎?但我從網上搜索,我發現有一個預加載屬性http://www.w3schools.com/tags/att_audio_preload.asp。但我不知道如何使用它...... – Coolguy 2013-05-06 07:58:16

+0

這是HTML5的一部分,假定您需要適用於舊版瀏覽器的代碼。 – 2013-05-06 08:16:15

回答

0

不知怎的,我下面的編碼工作了Firefox和Chrome,但不是IE9:

<script> 
function RxProtocol() 
{ 
    var a = document.getElementById("audio1"); 
    a.play(); 
} 

</script> 

<body> 
<audio id="audio1"> 
<source src="audio.wav" type="audio/wav"> 
<source src="audio.mp3" type="audio/mpeg"> 
audio tag not supported. 
</audio> 
</body> 

嘗試並嘗試後,我發現我爲了讓IE9能夠正常工作,需要放置下面的內容。 Firefox和Chrome工作太:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

在此之前,我把下面的編碼,該編碼的Firefox和Chrome的唯一工作:

<meta http-equiv="Pragma" content="no-cache"/> 

。你們知道什麼是這兩個元的區別?