首先,要想使用音效,需要启用音效引擎库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. lintcode :Remove Duplicates from Sorted List 删除排序链表中的重复元素

    题目: 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素每个元素只留下一个.   您在真实的面试中是否遇到过这个题? 样例 给出1->1->2->null,返回 1-& ...

  2. linux软中断与硬中断实现原理概述

    linux软中断与硬中断实现原理概述. 1.软中断通过open_softirq注册一个软中断处理函数,即在软中断向量表softirq_vec数组中添加新的软中断处理action函数. 2.调用rais ...

  3. java里int和Integer什么区别

    Integer i=0; i是一个对象 int i=3; i是一个基础变量 Integer i=0; 这种写法如果没记错,在JAVA1.5之前是会报错的,自动的加解包是1.5的新特性 必须写成 Int ...

  4. Orcle数据库查询练习复习:三

    一.题目 1.与“张三”同乡的男生姓名 select * from student where snativeplace=(select snativeplace from student where ...

  5. 2014--9=17 软工二班 MyEclipse blue==5

    package cn.rwkj.test; import java.io.IOException; import java.io.InputStream; import java.io.OutputS ...

  6. 244. Shortest Word Distance II

    题目: This is a follow up of Shortest Word Distance. The only difference is now you are given the list ...

  7. 基于Struts2框架实现登录案例 之 程序国际化

    国际化牵涉的知识非常多,这里只能简单的介绍,程序国际化的一般做法是:在jsp页面时, 不是直接输出信息,而是输出一个key值,该key值在不同语言环境下找到对应资源文件下的 对应信息,因此首先要创建满 ...

  8. LRU缓存算法

    http://blog.csdn.net/beiyeqingteng/article/details/7010411 http://blog.csdn.net/wzy_1988/article/det ...

  9. HDU 2586 + HDU 4912 最近公共祖先

    先给个LCA模板 HDU 1330(LCA模板) #include <cstdio> #include <cstring> #define N 40005 struct Edg ...

  10. bzoj2482

    还是像以前那样维护下次出现位置,计算影响 其实不难,思维盲点,受到做最大子段和的影响 其实这里可以直接维护当前每个位置的子段和,再记录一个历史最大和 当然tag也需要记录当前tag和历史(距离上次pu ...