【发布时间】:2012-06-14 16:26:12
【问题描述】:
我已经构建了一个应用程序,旨在通过使用“结束”事件在第一个声音结束时播放每个声音。
在我的初始版本中,每个声音都有自己的音频元素,结果如下:
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 上播放一系列声音?非常感谢您的帮助!
【问题讨论】:
-
我的回答对您有帮助吗?如果是,请标记为已接受的答案。谢谢!
标签: ios html mobile jquery-mobile html5-audio