我已经构建了一个应用程序,旨在播放每个声音,因为第一个声音是通过使用“结束”事件完成的。
在我的初始版本中,每个声音都有自己的音频元素,结果如下:
function play_next_audio(){
speaker = $('audio#' + sounds[i++]).get(0);
speaker.addEventListener('ended',play_next_audio);
speaker.play();
}
这适用于所有桌面浏览器,包括 Safari,但不会超出 iOS 上的第一个字母。
我还尝试了一种不同的方法——一个单独的音频元素依次加载每个声音。在那里,我尝试绑定“结束”事件以及首先加载并绑定“canplaythrough”事件。在这两种情况下,即使在桌面 Safari 上它也无法正常工作——这次成功地播放了前两个字母。
这是孤立的测试:
http://dev.connectfu.com:42001/app/test-sounds.html
请注意,audio.load() 被注释掉了几个地方 - 将其输入或输出似乎没有任何区别。
我究竟做错了什么?如何在 iOS 上播放一系列声音?非常感谢你的帮助!