我正在开发一个网站,让用户可以选择让他们大声朗读这些页面。
我正在使用 SoundJS ( https://www.createjs.com/soundjs ) 加载 OGG、MP3 和 WAV 版本的旁白文件,然后在加载完成后立即播放。这是代码:
var narration = {
path: '../assets/sounds/',
manifest: [
{
id: 'narration',
src: {
mp3: 'narration.mp3',
ogg: 'narration.ogg',
wav: 'narration.wav'
}
}
]
};
createjs.Sound.alternateExtensions = ['mp3', 'wav'];
createjs.Sound.registerSounds(narration);
createjs.Sound.addEventListener('fileload', function(){
createjs.Sound.play('narration');
});
在 iPhone X 和 iPad 上,在 Safari 和 Chrome 中,音频文件开始播放,但在播放完之前就中断了。网站上的音频文件从 7 秒到 30 多秒不等,而且音频总是在结束前几秒钟被切断。例如,在 Chrome 中,10 秒的剪辑在 8 秒后停止播放,31 秒的剪辑在 29 秒后停止播放。在 Safari 中,相同的 10 秒剪辑在 7 秒后停止播放,相同的 31 秒剪辑在 22 秒后停止播放。
在我们测试过的所有非 iOS 设备上,在许多不同的浏览器中,这个问题从未发生过。
这背后的原因是什么,我能做些什么来确保音频一直播放?