兼容性说明
Web 平台音频资源的加载模式
Web 平台上的音频资源比较特别,因为 Web 标准支持以两种不同的方式加载音频资源,分别是:
- Web Audio:提供相对更加现代化的声音控制接口,在引擎内是以一个 audio buffer 的形式缓存的。这种方式的优点是兼容性好,问题比较少。
- DOM Audio:通过生成一个标准的 audio 元素来播放音频资源,在引擎内缓存的就是这个 audio 元素。使用标准的 audio 元素播放音频资源时,在某些浏览器上可能会遇到一些兼容性问题,比如 iOS 上的浏览器不支持调整音量大小,所有 volume 相关属性将不会生效。
目前 Cocos Creator 默认以 Web Audio 的方式加载音频资源,但如果检测到当前浏览器不支持加载 Web Audio,则会切换使用 DOM Audio 的方式加载音频。
如果项目需要强制通过 DOM Audio 的方式加载音频资源,请使用以下方式动态加载:
typescript
assetManager.loadRemote('http://example.com/background.mp3', {
audioLoadMode: AudioClip.AudioType.DOM_AUDIO
}, (err, clip: AudioClip) => {
if(err){
console.log(err);
}
});