首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类,

#include "SimpleAudioEngine.h" 

CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关。具体不同平台的格式支持请查阅资料,通常我们就用各个平台都支持的格式,音乐:mp3;音效:wav。

具体的使用做一个简单的介绍,比较简单:

音乐:同一时间,只能有一个背景音乐在播放。

void preloadBackgroundMusic( 音乐文件);    //加载音乐
void playBackgroundMusic( 音乐文件, bool); //播放音乐, true代表循环播放, false代表不循环
void pauseBackgroundMusic(); //暂停
void resumeBackgroundMusic(); //继续
void stopBackgroundMusic(); //停止
void rewindBackgroundMusic(); //从头播放
bool isBackgroundMusicPlaying(); //是否正在播放
void setBackgroundMusicVolume(); //设置音量
float getBackgroundMusicVolume(); //获取音量

声音:与音乐不同的是,同一时间可以有多个音效在播放,引擎在播放音效的时候会返回该次播放音效的ID,方便之后的控制。

void preloadEffect( 音效文件 )
void unloadEffect( 音效文件 )
int playEffect( 音效文件, 是否重复 ) //返回一个音效id作为标识
void stopEffect( 音效ID )
void stopAllEffects()
void pauseEffect( 音效ID )
void pauseAllEffects()
void resumeEffect( 音效ID )
void resumeAllEffects()
float getEffectsVolume()
void setEffectsVolume()

这里呢,在播放音效的时候需要指定是否循环播放,默认是不循环。音效还有一点,就是没有“是否正在播放”的判断,如果需要判断的话,需要该引擎底层,自己仿照音乐播放判断的方式写一个。

SimpleAudioEngine是个单例类,使用方式:SimpleAudioEngine::sharedEngine()->playEffect( 音效文件 );

注意:

播放背景音乐前,一定要提前加载背景音乐文件,音效不需要。
在退出后且不再需要音乐时,要调用end()方法来释放引擎占用的资源。

cocos2d-x 添加背景音乐和音效-SimpleAudioEngine的更多相关文章

  1. 005-unity3d 添加背景音乐、音效 以及 天空盒子

    一.基础知识 1.项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音.默认AudioListener是放到Main Camera上.没有A ...

  2. Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)

    游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...

  3. 关于Cocos2d-x中背景音乐和音效的添加

    1.首先引入头文件和命名空间 #include "SimpleAudioEngine.h" using namespace CocosDenshion; 2.在GameScene. ...

  4. Cocos2d-x使用UserDefault数据持久化实例:保存背景音乐和音效设置

    UserDefault可以实现数据的存储,但是它的使用不能泛滥,具体讲一般情况下不会使用它保存大量的数据,它没有SQL语句那样的灵活.UserDefault除了保存游戏设置外,还有可以长期保持游戏精灵 ...

  5. Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现

    为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下.如下图所示有两个场景:HelloWorld和Setting.在HelloWorld场景点击“游戏设置”菜单可以切换到Setting场 ...

  6. android开发之背景音乐与音效

    android开发之背景音乐与音效 一:添加背景音乐(MediaPlayer) MediaPlayer class can be used to control playback of audio/v ...

  7. cocos2dx基础篇(17) 音乐音效SimpleAudioEngine

    [3.x]     (1)获取单例:sharedEngine() 改为 getInstance()     (2)实现了:音量的调节.     (3)修改了播放音效 playEffect() 的参数: ...

  8. h5页面添加背景音乐

    [需求]h5页面添加背景音乐,支持微信.QQ.各种APP. [实现思路]1.通过audio标签,设置自动播放,是一种方法,但是此方法只适合微信.QQ,并不兼容我司的APP,需要主动触发下播放事件. 2 ...

  9. Java代码添加背景音乐

    太心塞!弄了很久才终于把Java添加背景音乐实现了.不过还是很Happy! 这次介绍的办法,是只要一打开Java Application,便可直接听到背景音乐.代码保存,方便以后再次利用. packa ...

随机推荐

  1. dubbo/dubbox部署资料收集

    dubbo/dubbox部署资料收集 最近由于项目需要要部署bubbox,dubbo,在找资料过程中用的的一些网址如下,后来由于取消没有实际应用,以备今后再用 http://dubbo.io/Admi ...

  2. Servlet小示例:jsp页面提交信息Servlet接收并打印输出

    该示例采用doPost方法提交表单,该示例一共包含两个文件. 一个是用来提交用户信息的表单userForm2.jsp,另一个是用来接收参数的Servlet. userForm2.jsp <%@ ...

  3. POI 中的CellRangeAddress 参数

    在用poi在EXECL报表设计的时候,遇到单元格合并问题,用到一个重要的函数: CellRangeAddress(int, int, int, int) 参数:起始行号,终止行号, 起始列号,终止列号 ...

  4. Java API —— JDK5新特性

    JDK5新特性         自动拆装箱.泛型.增强for.静态导入.可变参数.枚举   1.增强for概述         1)简化数组和Collection集合的遍历         2)格式: ...

  5. 如何手动把jar包添加进Maven本地仓库

    有以下两种情况你需要手动通过Maven命令把jar文件添加进本地仓库: 1.在中心仓库里没有你想要的jar包. 2.你自己写了一个jar包,在其他项目要用到. 补充:现在仍有很多jar包不支持Mave ...

  6. Android开发之网络请求HttpURLConnection

    转:http://blog.csdn.net/guolin_blog/article/details/12452307 Android中主要提供了两种方式来进行HTTP操作,HttpURLConnec ...

  7. servlet基础讲解

    基本知识一.Web结构1.两种应用程序 ①桌面应用程序:QQ.CS.MyEclipse.Office.DW.360.浏览器等必须下载.安装.桌面快捷方式.注册表信息.操作系统后台服务.占用操作系统端口 ...

  8. poj 1845 Sumdiv (数论)

    题目链接 题意:求 A^B的所有约数之和对9901取模后的结果. 分析: 看了小优的博客写的. 分析来自 http://blog.csdn.net/lyy289065406/article/detai ...

  9. Codeforces Round #248 (Div. 2) C. Ryouko's Memory Note (vector 替换)

    题目链接 题意:给m个数字, 这些数字都不大于 n,  sum的值为相邻两个数字 差的绝对值.求这n个数字里把一个数字 用 其中另一个数字代替以后, 最小的sum值. 分析:刚开始以为两个for 最坏 ...

  10. zoj 3778 Talented Chef(思维题)

    题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...