所以我的HTML中有一个音频元素:
<audio id="success-sound" class="hidden">
<source src="sound/success.mp3" type="audio/mpeg">
</audio>
声音在点击/触摸事件中播放。它在我的Mac上的Safari中工作正常,音乐播放。我正在创建一个iOS应用程序虽然有一个Web视图,我可以使用我的HTML5应用程序。当我在iPad 6.1模拟器中尝试应用程序并调试控制台时,我可以看到此错误:
INVALID_STATE_ERR: DOM Exception 11: An attempt was made to use an object that is not, or is no longer, usable.
这是失败的路线:
var successSound = document.getElementById("success-sound");
successSound.currentTime = 0;
successSound.play();
有什么想法吗?
顺便说一下,我有另一个带有音轨的音频元素:
function startSoundtrack() {
soundtrack.play();
soundtrack.addEventListener('ended', function () {
var audio = this;
setTimeout(function () {
audio.currentTime = 0;
audio.play();
}, 5000);
}, false);
}
答案 0 :(得分:0)
似乎iOS在HTML5方面有一些限制。当第一个音频元素在后台播放时,似乎很难拥有多个音频元素并播放第二个音频元素。
我通过使用AVAudioPlayer解决了这个问题,当我想播放声音时,我使用JavaScript来通知视图控制器Web视图。