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

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

时间: 2024-10-13 11:55:37

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

Cocos2d-JS 中游戏背景音乐与音效

游戏中音频的处理也是非常重要的,它分为背景音乐播放与音效播放. 背景音乐是长时间循环播放的,它会长时间占用较大的内存,背景音乐不能多个同时播放. 而音效是短的声音,它占用内存较小,音效能多个同时播放. 在Cocos2d-JS中提供了一个音频引擎-AudioEngine,通过引擎能够很好地控制游戏背景音乐与音效优化播放. Cocos2d-JS音频文件 音频多媒体文件主要是存放音频数据信息,音频文件在录制的过程中把声音信号通过音频编码变成音频数字信号保存到某种格式文件中.在播放过程中再对音频文件解码

Cocos2d-x实例:设置背景音乐与音效-设置场景实现

设置场景(Setting),Setting.h文件代码如下: [html] view plaincopy #ifndef __Setting_SCENE_H__ #define __Setting_SCENE_H__ #include "cocos2d.h" #include "SimpleAudioEngine.h" class Setting : public cocos2d::Layer { bool isEffect;                    

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

为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下.如下图所示有两个场景:HelloWorld和Setting.在HelloWorld场景点击"游戏设置"菜单可以切换到Setting场景,在Setting场景中可以设置是否播放背景音乐和音效,设置完成后点击"OK"菜单可以返回到HelloWorld场景. 我们需要在AppDelegate中实现背景音乐播放暂停与继续函数,AppDelegate.h文件代码如下: #ifndef _APP_DELEGAT

cocos2d-x 3.0 背景音乐与音效

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 声明: 本文章用VS2012编译,cocos2d-x 3.0 版本. 我也是新手,如有错误,欢迎指出,共同进步. 嗯哼~ 这次学习背景音乐和音效的使用~ 是不是好开心的呢! 照旧,首先新建一个工程~(啥?怎么建?!...,出门,往前找) 首先,要知道,cocos

Cocos2d-x实例:设置背景音乐与音效-HelloWorld场景实现

HelloWorld场景就是游戏中的主菜单场景.HelloWorld.h文件代码如下: #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include "SimpleAudioEngine.h" ① #include "SettingScene.h" class HelloWorld : public cocos2d::Layer { public: static cocos2d::Sce

【cocos2d-x游戏开发】背景音乐与音效

在游戏中,我们把音乐文件分为两类.一是背景音乐,二是音效.比如说,进入一个场景之中,会有背景音乐的声音,主角是做出动作时,会有音效的产生等等呐.. 然而背景音乐和音效音乐是不大相同的,一般来说,背景音乐是很长的,然而音效却是很短暂的,只有短短的几秒而已.所以说,背景音乐只能播放一首,然而,音效却可以同时播放多个,相信大家在玩游戏时也有所体会. 在cocos2d-x3.x中,我们可以十分方便的调用CocosDenshion音效引擎库.我们需要加载音频文件时,只需要把相关的头文件写进来就可以了. #

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

UserDefault可以实现数据的存储,但是它的使用不能泛滥,具体讲一般情况下不会使用它保存大量的数据,它没有SQL语句那样的灵活.UserDefault除了保存游戏设置外,还有可以长期保持游戏精灵等对象的状态. 我们通过一个实例介绍一下在游戏项目中如何使用UserDefault.如图所示,在Setting场景中可以设置是否播放背景音乐和音效,现在我们将它完善将选择的状态保存到UserDefault中. 设置背景音乐与音效(上图HelloWorld场景.下图Setting场景) 我们需要定义两

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

游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import SpriteKit //引入多媒体框架 import AVFoundation class SoundManager :SKNode{     //申明一个播放器

android开发之背景音乐与音效

android开发之背景音乐与音效 一:添加背景音乐(MediaPlayer) MediaPlayer class can be used to control playback of audio/video files and streams.MediaPlayer 类是用来控制音频和视频文件的播放: 实例化MediaPlayer的方法: 直接new的方式: MediaPlayer mp = new MediaPlayer(); 使用create的方式,如: MediaPlayer mp =