首先,你需要有一个音效文件(好吧我承认这是一个冷笑话),最好是WAV的,因为目前WP8平台只支持WAV……
(╯‵□′)╯︵┻━┻
然后将你的音效放到Resources目录下。
下面开始正式讲解如何在Cocos2d-x中播放音效,与其说是讲解,不如说是一笔带过。因为Cocos2d-x中播放音效真的很简单。
就好像把大象放到冰箱里一样简单…………
言归正传。
第一步:
引入头文件并引用命名空间:
#include ”simpleAudioEngine.h“
using namespace cocosdenshin;
第二步:
调用音乐播放函数:
CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("background.wav");
播放音效函数:
CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Boom.wav");
第三步(千万不要忘记):
在AppDelegate.cpp中设置音乐的暂停和恢复
在applicationDidEnterBackground中添加暂停音乐的函数
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
在applicationWillEnterForeground中恢复音乐播放
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
下边分享一些小知识吧:
各个平台音乐格式:
1 Android: mp3、mid、ogg和wav,可以播放android.media. MediaPlayer所支持的所有格式
2 iOS:aac、caf、mp3、m4a和wav, 可以播放AVAudioPlayer, 所支持的所有格式
3 Windows: mid、mp3和wav
各个平台音效格式:
1 Android:ogg和wav, 对wav的支持并不完美
2 OS:caf和wav,可以播放Cocos2d-iPhone,CocosDenshion所支持的所有格式
3 Windows:mid和wav
音频相关函数列表:
// 停止背景音乐播放
SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
// 暂停背景音乐播放
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
// 恢复背景音乐播放
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
// 倒带?后退背景音乐播放(这个我不知道怎么说反正就那个意思吧)
SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();
// 背景音乐是否播放中
SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()
// 加大音乐音量
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() + 0.1f);
//暂停音效
SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);
//恢复音效播放
SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);
//暂停全部音效
SimpleAudioEngine::sharedEngine()->pauseAllEffects();
//恢复全部音响
SimpleAudioEngine::sharedEngine()->resumeAllEffects();
//停止所有音响播放
SimpleAudioEngine::sharedEngine()->stopAllEffects();