音频仅在Google Chrome中以html播放一次

时间:2013-05-07 09:04:15

标签: javascript html google-chrome

以下代码是我将音频放入网页的方式。当我从我的从设备接收协议时它会播放声音。

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

假设每次收到协议时播放声音。但是当我使用Google Chrome时,它只会在收到第一个协议时播放一次(刷新/重新加载页面后)。之后,接收协议时会保持沉默。

其他浏览器如IE9或firefox都没有这个问题。你们知道为什么吗?

2 个答案:

答案 0 :(得分:1)

尝试添加addEventListener:

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

document.addEventListener("load", RxProtocol, false);

</script>

问候,丹尼尔

答案 1 :(得分:0)

我们需要先为Google Chrome加载

function RxProtocol()
{
    var a = document.getElementById("audio1");

    if (window.chrome) {
        a.load();
    }

     a.play();
 }