0

私は現在、自分のウェブサイトで効果音を再生するために以下の方法を使用しています。スレーブ デバイスからプロトコルを受信するたびにサウンドを再生する必要があります。

<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 秒間受信した後、音声のみが再生されました。

オーディオをプリロードしていないためですか? コードを修正してプリロードを有効にする方法を教えていただけますか?

4

2 に答える 2

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"/>

これら2つのメタの違いは何ですか?

于 2013-05-06T09:25:52.260 に答える
0

あなたは試すことができpreload attributeますhtml5 audio tag

お気に入りpreload="auto"

http://webdesignledger.com/tips/audio-and-video-with-html5http://code.google.com/p/html5-preloader/もお読みください

于 2013-05-06T08:12:13.937 に答える