共有回帖数 0 个
- cocos2dx引擎 播放完美循环的音乐--Channel游戏音乐
-
只看楼主
收藏
回复
-

cocos2dx引擎是现在移动平台最常用的游戏开发引擎之一。他既是开源 功能又很强大,所以很多手机开发公司在一些2D项目会首选它。这里对于cocos的介绍不多说了,您比我清楚的多,我也不复制网上的介绍了。下面直接说说正题,说说我们的发现。
问题1:我们平时开发项目 很多项目是基于cocos2dx来开发的。但是到了音频部分很多程序员都有点迷糊。让游戏出声没问题so easy,但是你对cocos2dx的音频支持的引擎了解多少呢?播放出来的音乐是否完美循环呢?很多人会回答不能完美循环。cocos2dx播放的背景音乐 不能完美循环,循环的时候总是感觉卡了一下再循环的,循环接不上,所以没法用。是这怎么回事?能否有个解决方案?回答:下面Channel游戏音乐 回答你这个问题。我们做开发游戏的人 通常会让 我们声音团队 提交MP3这个格式。其实问题就出现这个格式上。我们在UNITY的格式选择的 那篇文章有提到过MP3 怎么个不行,见文章:http://www.channelmusic.net/newsshow.php?cid=4&nid=4&id=32这里简单说,MP3这个格式是有损压缩格式, 他被压缩后产生一个数据头,因为每次循环的时候内存载入会载入这个数据头,所以这些数据头会转化为一段空白,导致循环MP3这个格式循环的时候 会卡一下, 即使音乐本身是无缝循环的处理的音乐文件 也是一样不行。
问题2:那我们不用MP3用其他的什么格式呢? WAV没数据头 但是它太大了,比游戏包都大,这怎么办?回答:我们当然可以用压缩格式了,Channel游戏音乐工作室有个专门做 声音测试的一个组,他们有各种的游戏设备 以及各种型号手机,一点都不比游戏公司的QA差哦,经过多种格式的尝试测试以后,我们发现有一种压缩格式叫做M4A格式, 他是基于ACC音频编码的M4A。他的表现超出了 我们想象。他的特点体积小,跟MP3体积一样。在手机上的循环播放效果 跟 WAV AIF一样,完美无缝循环。所以这里建议你使用这个格式。cocos2dx手机所以支持格式的细化实际cocos2dx引擎并不会像unity那样有独立的音频引擎,他的音频能力完全基于手机原生系统的播放能力,同样 格式的支持也是如此。下面看一下android和IOS对MA4的支持。Android系统本身支持的音频格式情况:(下图)

IOS系统本身支持的音频格式情况:iOs系统支持音频格式及编码要求:
AAC (16 至 320 Kbps)、Protected AAC (来自 iTunes Store—M4A)、MP3 (16 至 320 Kbps)、MP3 VBR、Audible (formats 2、3、4)、Apple Lossless、AIFF 及 WAV
The audio technologies in iOS support the following audio formats:
• AAC
• Apple Lossless (ALAC)
• A-law
• IMA/ADPCM (IMA4)
• Linear PCM
• µ-law
• DVI/Intel IMA ADPCM
• Microsoft GSM 6.10
• AES3-2003
cocos2dx 支持的音频格式的情况:1, Android: mp3、mid、ogg和wav,可以播放android.media. MediaPlayer所支持的所有格式2, iOS:aac、caf、mp3、m4a和wav, 可以播放AVAudioPlayer, 所支持的所有格式
3, Windows: mid、mp3和wav
从上面的音频格式分析, 可以得出 IOS和Android下cocos都支持M4A格式。所以播放是没有问题的。另外补充:我们也曾专门针对Android的平台进行测试 发现OGG这个格式本身在Android表现上是非常出色 循环和内存的节省表现很不错。所以建议项目在Android平台下 使用OGG格式。 IOS下建议使用M4A。
最后的建议:格式的使用不管用M4A还是OGG 它只是一种在平台上的格式支持的表现能力,但是对于音乐的本身 还是需要首先得到的音乐文必须是完美无缝的音乐文件 不然也无法到达完美无缝循环。所以欢迎大家来Channel游戏音乐工作室 制作高品质的完美无缝的音乐 音效, 让Channel游戏音乐 给您创造 您最想要的声音体验。
楼主 2015-08-21 10:12 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知