1.首先引入头文件和命名空间

#include "SimpleAudioEngine.h"

using namespace CocosDenshion;

2.在GameScene.cpp的init方法中加载背景音乐和音效到一个SimpleAudioEngine::getInstance();的对象中

//加载音乐,播放背景音乐
auto audioengine = SimpleAudioEngine::getInstance();
audioengine->preloadBackgroundMusic("sound/bgmusic.mp3");
audioengine->preloadEffect("sound/shoot.wav");
audioengine->preloadEffect("sound/hero_down.mp3");
audioengine->preloadEffect("sound/enemy3_down.wav");
audioengine->preloadEffect("sound/enemy1_down.wav");
audioengine->preloadEffect("sound/enemy2_down.wav");
audioengine->preloadEffect("sound/big_spaceship_flying.mp3");

3.播放背景音乐(GameScene.cpp的init方法中)

audioengine->playBackgroundMusic("sound/bgmusic.mp3", true);

4.播放特定音效(满足某个条件的时候,比如飞机爆炸就在满足飞机爆炸的条件下写播放爆炸的音效的语句)

SimpleAudioEngine::getInstance()->playEffect("sound/enemy1_down.wav");

用到的函数

1.virtual void preloadBackgroundMusic(const char * filePath)

预加载背景音乐。

参数
filePath 背景音乐的文件路径。

2.virtual void playBackgroundMusic ( const char * filePath,bool loop = false )

播放背景音乐。

参数
filePath 背景音乐的文件路径或T_SoundResInfo中的FileName字段。
loop 背景音乐是否循环播放。

3.virtual void stopBackgroundMusic ( bool releaseData = false )

停止播放背景音乐。

参数
releaseData 是否释放背景音乐的数据,默认值为false。

4.virtual void pauseBackgroundMusic ( )

暂停播放背景音乐。

5.virtual void resumeBackgroundMusic ( )

恢复播放背景音乐。

6.virtual void rewindBackgroundMusic ( )

将背景音乐倒回起始点播放。

7.virtual void preloadEffect(const char * filePath)

预加载音效文件。

参数
filePath 音效文件路径。

8.virtual unsigned int playEffect ( const char * filePath,bool loop = false,float pitch = 1.0f,float pan = 0.0f,float gain = 1.0f )

播放音效

参数
filePath 音效文件的路径。
loop 是否循环播放,默认为false,不循环。
pitch 频率,正常情况下为1.0,在播放时也可以改变该值。
pan 声道,范围为-1到1,为-1时表示只有左声道,为1时表示只有右声道。
gain 音量增益, 范围为0到1,默认值为1。
返回
声音id。
注解
现在还不能完全支持所有参数,限制的功能如下:
在Samsung Galaxy S2上如果启用了OpenSL那么pitch参数无效;
在emscrippten, win32, marmalade上pitch/pan/gain参数无效

9.virtual void stopEffect ( unsigned int soundId )

停止播放指定的音效。

参数
soundId playEffect返回的资源id。

10.virtual void pauseEffect ( unsigned int soundId )

暂停播放指定音效。

参数
soundId 音效id。

11.virtual void resumeEffect ( unsigned int soundId )

恢复暂停播放指定的音效。

参数
soundId playEffect返回的资源id。

12.virtual void unloadEffect ( const char * filePath )

卸载预加载到内存中的音效文件。

参数
filePath 音效文件的路径。

关于Cocos2d-x中背景音乐和音效的添加的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 如何在cocos2d项目中enable ARC

    如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...

  7. 如何在Cocos2D游戏中实现A*寻路算法(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  8. 如何在Cocos2D游戏中实现A*寻路算法(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  9. 数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True

    数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True alter table Sys_User add AgreeAddingFriend bit alt ...

随机推荐

  1. DBA_实践指南系列4_Oracle Erp R12系统备份和恢复Backup(案例)

    2013-12-04 Created By BaoXinjian

  2. struts2.xml中所有constant详解--大全

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  3. 将mysql非分区表转换为分区表(转)

    查看表的分布状况mysql> select count(*) from  justin;+----------+| count(*) |+----------+|  5845246 |+---- ...

  4. quick cocos2dx 3.x 配置win32工程

    公司项目主体部分用c++,而ui部分用lua写,所以选择了用quick框架.项目先开发了ios/mac版,这两天试着配置其win32工程,遇到一些问题,记录一下(纯c++版本cocos2dx配置方法应 ...

  5. Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT

    Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...

  6. verilog 条件编译命令`ifdef、`else、`endif 的应用

    [摘自夏宇闻<verilog设计教程>]一般情况下,Verilog HDL源程序中所有的行都将参加编译.但是有时希望对其中的一部分内容只有在满足条件才进行编译,也就是对一部分内容指定编译的 ...

  7. ControlExtensionTest(一)

    #ifndef __CCCONTROLSCENE_H__ #define __CCCONTROLSCENE_H__ #include "cocos2d.h" #include &q ...

  8. 输入法环境变量XMODIFIERS/GTK_IM_MODULE

    我们配置输入法时,都是习惯性的在输入法启动前导出环境变量: export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=SCIM 他们有何用意呢?? 我们常用的输入 ...

  9. Oracle PLSQL Demo - 20.弱类型REF游标[没有指定查询类型,也不指定返回类型]

    declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; v_ename ); v_deptno ); v ...

  10. PeekMessage、GetMessage的区别

    在Windows编程中经常使用这两个函数来处理消息,它们之间的区别就是GetMessage是阻塞的,PeekMessage是非阻塞的. GetMessage原型如下:BOOL GetMessage(L ...