在CocosCreator IOS遇到的Audio的坑

博客讲述了在开发iOS游戏时遇到的音频问题,主要表现为IOS端音频有杂音和拖长现象。问题根源在于CocosCreator的cc.audioEngine在iOS上使用苹果音乐播放器导致的音频兼容性问题。作者发现音频采样率不一致是问题关键,视频(22khz)与背景音乐(48khz)、人物语音(44.1khz)的采样率差异造成了播放异常。解决方案是统一所有音频的采样率为44.1khz。另外,还提到cc.audioEngine.update调用setVolume()也会引发杂音,去除该调用可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近新游戏的开发缓了缓,这几天都在给一个刚上线的游戏调试,改bug。

有一个bug折腾了我们好久;安卓机上表现正常,有IOS端用户反应音频听起来有杂音,偶尔会有音频被拖长的现象(在实际测试中偶尔出现,只不过没来得及修改)

经过查阅资料和验证,发现CocosCreator的cc.audioEngine竟然是使用苹果的音乐播放器播放音乐的。。。

由于苹果对于音频的兼容性较差,只能play后在加载音频,使用domaudio加载音频会有延迟并且不能动态调整音量;相比较后选择了webaudio,而webaudio则经常出现有杂音的情况。
终于在stackoverflow上找到了答案:

个人认为应该是个ios的bug(也许是特殊处理?谁让人家是苹果呢。)

在这里插入图片描述

游戏开头的视频音频采样率是22khz,背景音乐采样率48khz,人物语音采样率44.1khz。

产生bug的原因是:开头的视频播放后将sample rate改成了22khz,再播放其它更高音效会出现拖长音的情况,同理如果跳过游戏开头的视频,直接播放背景音乐,那么播放采样率较低的人物语音时,会出现杂音(失真)。

解决方案

游戏中的所有音频的采样率都改为44.1khz。

==========================================
又出现了杂音的问题,原因是creator里面的update调用了cc.audioEngine.setVolume(); 去掉就好了。。。具体原因不知(玄学)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值