博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Cocos2d-x中背景音乐和音效的添加
阅读量:4586 次
发布时间:2019-06-09

本文共 2230 字,大约阅读时间需要 7 分钟。

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 音效文件的路径。

 

 

 

转载于:https://www.cnblogs.com/HangZhe/p/5812543.html

你可能感兴趣的文章
NTP 协议介绍
查看>>
软件测试 · 白盒测试
查看>>
docker-compose exec时出现"fork/exec /proc/self/exe: no such file or directory" 报错
查看>>
IIS的安装及网站发布的图解
查看>>
VM虚拟机安装苹果雪豹操作系统
查看>>
dos进去mysql导入数据库
查看>>
Oracle单表去重复(一)
查看>>
C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?...
查看>>
JSON字符串互相转换的三种方式和性能比较
查看>>
C++中cout输出字符型指针地址值的方法
查看>>
Java运算符法则
查看>>
深入理解java异常处理机制
查看>>
SQL---规则篇
查看>>
[洛谷 P5053] [COCI2017-2018#7] Clickbait
查看>>
poj 2388 Who's in the Middle
查看>>
PHP计算中文字符串长度 、截取相应中文字符串
查看>>
程序的模块化的一些见解6-读牛人代码之感
查看>>
ZigZag Conversion
查看>>
关注关注工作行列
查看>>
GDB十分钟教程
查看>>