[英]Soundjs on safari and mobile browsers
目前,我的音频无法在野生动物园和移动设备上播放。 在FireFox,Chrome和IE的普通PC上运行正常
var manifest = [
{ id: "correct", src: 'assets/correct.mp3|assets/correct.ogg' },
{ id: "wrong", src: 'assets/wrong.mp3|assets/wrong.ogg' }
];
var queue = new createjs.LoadQueue();
queue.installPlugin(createjs.Sound);
queue.loadManifest(manifest, true);
我这样称呼play函数;
createjs.Sound.play("correct");
该函数编写在用户按下div时调用的函数内部。
该代码看起来应该可以工作。 Web音频最初在iOS设备上被静音,但是在用户事件中调用播放时,音频将取消静音。
有两种可能(看不到其余代码):
您正在使用iPad 1,该iPad不支持Web音频,并且由于严重的限制默认情况下禁用html音频。
您无需等待音频完成加载再调用play:
queue.addEventListener(“ complete”,loadComplete);
音频文件路径不正确,因此加载失败,可以通过侦听错误事件进行检测。
您正在使用Safari不支持的mp3文件的非默认编码。 通常,这也会在其他浏览器中中断。
Safari需要快速时间才能播放html音频,因此可能是个问题。
使用createjs.Sound.registerPlugins,将SoundJS设置为使用不支持的移动插件(例如FlashPlugin)。 您可以使用以下方法检查当前的插件:
createjs.Sound.activePlugin.toString();
您可能会发现“ 移动安全教程”很有用。 希望能有所帮助。
有一种方法可以破解它,播放一个空的mp3,然后播放音频。
它必须首先在mainfest数组中加载空的mp3:
var manifest = [
...
{ id: "empty", src: 'assets/empty.mp3|assets/empty.ogg' }
];
...
在播放声音之前,播放空的mp3:
createjs.Sound.play("empty");
createjs.Sound.play("correct");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.