频道栏目
读书频道 > 移动开发 > 其他综合 > Cocos2D-X游戏开发技术精解(第2版)
8.3 声音格式
2015-11-25 13:52:12     我来说两句
收藏   我要投稿
本书共15章,主要内容有:Cocos2D-X引擎介绍;如何建立跨平台的开发环境;了解引擎的核心模块—渲染框架;介绍如何将动态画面,呈现给玩家等动作功能;用户交互;二维游戏中背景的实现方法和技术;Box2D物理引擎  立即去当当网订购

Cocos2D-X引擎是一款跨平台的游戏引擎。前面提到了引擎为开发者提供了处理声音的功能。而此功能首先要解决的就是不同平台上声音格式的差异。因此接下来,在开始教授读者使用此功能之前,要先介绍一下各个平台支持的声音文件格式。此时,读者也可以根据下面介绍的内容,准备几个不同格式的声音文件,以备后续内容来使用。

当今的计算机科学与技术中,存在许多的声音格式。读者听到最多的可能就是mp3。不过在现实生活中,它早已不是一种声音格式,而是一种播放设备的代名词。这种音乐设备是能够播放mp3的。MP3的声音格式于1991年发明,是当今非常流行的一种数字音频编码和有损压缩格式,它设计用来大幅度地降低音频数据量,而对于大多数用户的听觉感受来说,重放的音质与最初的不压缩音频相比没有明显的下降。这也是各个平台都会支持的一种声音格式。除此之外,Cocos2D-X引擎还支持了各个平台的其他声音格式。

说明:有损压缩又称为破坏性压缩,是指经过压缩、解压的数据与原始数据不同但是非常接近的压缩方法。

之前,读者明确知道游戏中的声音分为:背景音乐和声音效果。由于这两种声音的特点,其采用的声音格式也有所不同。下面将会分别介绍每一种声音适合的文件格式。

表8-1列出了各个平台所推荐的背景音乐格式。读者需要注意表中的内容只是游戏背景音乐的首选,并不代表平台所支持的全部格式。就拿iOS平台为例,除了MP3和CAF之前,还支持AAC、AMR、WMA等等声音的格式。但是它们并不是适合作为多平台音乐的首选,因为有些格式只有特定平台才会支持。为此读者需要考虑周全。从表8-1中能够发现,MP3声音格式将会是适用最广的。它也经常被开发者作为游戏背景音乐的格式首选。


  

说明:表8-1没有列出所有Cocos2D-X引擎支持的平台,其中还有黑莓、Linux等等。

游戏中的背景音乐,由于容量大、时间长、次数少的特点,适合选用MP3的格式。虽然它是一种有损的压缩格式,但是玩家是绝对可以接受的。看看街头巷尾插着耳机的听众吗?他们大多数人听的音乐的格式就是MP3。因此读者不用担心音质的损失。而在游戏当中另一种声音:声音特效,就不再适合用MP3格式了。因为声音特效大多是短暂、快速的声响,有损的压缩方式会导致一些采样音源消失,所以针对游戏中的音效,需要使用另一套的声音格式。表8-2列出了开发者经常使用的声音音效文件格式。


  

与背景音乐的格式不同,游戏中声音音效的格式显得短小精干、灵活自如。各个平台尤其最适合的音效格式,在Cocos2D-X引擎中,很难将它们融合为一种格式。因此读者在制作音效文件时,需要根据不同的平台来单独准备了。

将背景音乐与声音音效划分为不同文件格式。这是因为它们的内容和行为不同。Cocos2D-X引擎也采用了不同的机制来处理。因此大多数的游戏都会存在至少两种格式的声音文件。这样做还有另一个好处,就是为声音同时播放的效果提供了便利条件。在一些手持设备中,会提供两种音频文件的解码方式:软解码和硬解码。

(1)硬解码是指通过固定的硬件芯片来完成对音频格式的解码方式。比如iOS设备中对MP3格式的解码。

(2)软解码是指借助CPU的运算能力通过计算来进行解码的方式。比如Android设备中对于MIDI格式的解码。

通常在一些手持设备中,会提供了两种解码方式。硬解码的方式效率高,但是需要硬件支持。软解码的方式则会占用CPU的资源,但是可以灵活应对多种格式。当开发者需要同时播放一系列声音时,就可以通过软硬兼施的方式。因为声音来自不同的通过,所以就不会造成彼此之间的干扰。

说明:硬解码的方式一般只能够一次解码一个音频文件。

在明白了游戏中声音文件的格式之后,我们就可以进行下一步,为读者介绍Cocos2D-X引擎中专门处理声音的模块:CocosDenshion模块。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:8.2 音乐与音效
下一篇:8.4 CocosDenshion声音模块
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站