以下代码是我将音频放入网页的方式。当我从我的从设备接收协议时它会播放声音。
<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都没有这个问题。你们知道为什么吗?
答案 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();
}