cocos2d-x 音效音乐 SimpleAudioEngine

本文介绍如何在Cocos2d-x中使用SimpleAudioEngine处理游戏音效和背景音乐,包括预加载、播放、暂停、恢复等方法,并提供代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用cocos2d-x 中的音乐音效时 注意要导入头文件和命名空间


#include "SimpleAudioEngine.h"

using namespace CocosDenshion;


//创建对象

auto sae = SimpleAudioEngine::getInstance();

或者

auto sae = SimpleAudioEngine::sharedEngine();//其实就是调用了getInstance()


背景音乐相关方法:


//预加载背景音乐

sae->preloadBackgroundMusic(const char* pszFilePath);


//播放背景音乐,bLoop表示是否循环

sae->playBackgroundMusic(const char* pszFilePath, bool bLoop);


//判断当前有没有背景音乐

sae->isBackgroundMusicPlaying();


//停止背景音乐,releaseData表示是否从内存中释放,默认false

sae->stopBackgroundMusic(bool releaseData = false);


//暂停背景音乐

sae->pauseBackgroundMusic();


//恢复背景音乐

sae->resumeBackgroundMusic();


//重头播放背景音乐

sae->rewindBackgroundMusic();


我使用的cocos2d-x 版本是3.2, 但是当我看到源码的时候....

这里面是空实现....预加载背景音乐,获取设置音量...调用之前看看源码也是很有必要的



下面是音效的相关方法:

 

//预加载音效
sae->preloadEffect(const char* pszFilePath);


/*

*播放音效

*filePath是文件的路径。

*loop是否循环的效果玩或不。默认值是假。

*pitch是音调频率,正常值为1。也会改变效果玩时间。

*pan是立体声效果,在[ - 1 - 1 ]的范围内- 1只允许左声道。

*gain是增益量,在[ 0 ]的范围[ 1 ]。正常值为1。

*返回声音的标识id。

*/

sae->playEffect(const char* filePath, bool loop = false, float pitch = 1.0f, float pan = 0.0f, float gain = 1.0f);


//停止播放音效soundId是playeffect()的返回值

sae->stopEffect(unsigned int soundId);


//从内存中卸载音效

sae->unloadEffect(const char* filePath);


//暂停音效 soundId是playeffect()的返回值

sae->pauseEffect(unsigned int SoundId);


//恢复音效soundId是playeffect()的返回值

sae->resumeEffect(unsigned int SoundId);


//暂停所有音效

sae->pauseAllEffects();


//恢复所有音效

sae->resumeAllEffects();


//停止所有音效

sae->stopAllEffects();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值