我有以下用于播放数组音频文件的代码
function playSound() {
if(index>=25){
index = 0;
}
document.getElementById("sound").innerHTML=
"<embed src=\""+audio[index]+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
index++;
}
音频在我的笔记本电脑上播放正常,但无法在iOS设备上播放。代码由以下HTML
触发<button id="newWordBtn" class="play" onclick="playSound(); $('#result').empty(); $('#yourTurn').val(''); myFunction();" data-icon="refresh" tabindex="3">New Word</button>
关于如何让这个工作的任何想法?我知道iOS不允许自动播放,但这个声音是由一个按钮触发的。
答案 0 :(得分:1)
许多移动浏览器无法处理<embed>
标记。此外,你没有显示消息来源是什么,但我敢打赌你正在使用MP3文件 - 这对于支持MP3的浏览器来说很好,但对于那些不支持MP3的浏览器来说这是好的。是的。
你应该得到这样的东西:
<audio autostart>
<source type="audio/ogg" src="mySong.ogg" />
<source type="audio/mpeg" src="mySong.mp3" />
<p>Your browser does not support HTML5 audio. Sorry!</p>
</audio>
答案 1 :(得分:0)
不幸的是,iOS会将音频/视频对象锁定为每个网页1个,所以一旦你加载了一个,就会使用你的。这将默默地杀死您想要同时播放的所有其他声音文件。我已经挣扎了几个星期,通过javascript让多轨音频在iOS上工作,迄今为止最适合我的解决方案是Web Audio API。我已经为你附了一个教程,希望它会有用