cocos2d-x (音效音乐)SimpleAudioEngine

时间:2023-02-08 10:22:09
cocos2d-x 游戏中声音 有两种 一种是背景音乐 一种是音效 加载音乐 或者音效的时候 我们需要先缓存声音
 
    #define EFFECT_FILE        "effect1.wav"  //音效
    #define MUSIC_FILE        "background.mp3"  //音乐
这两个宏 代表了 音乐和音效的名称或者目录
  SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) );//缓存音乐
    SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) );//缓存音效
    
    // set default volume
    SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//设置音效声音
    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//设置音乐声音


1.播放背景音乐
 
  SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE)).c_str(), true);
2.也可以判断目前有没有背景音乐
 
 if (SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
        {
            CCLOG("背景音乐正在播放");
        }
        else
        {
            CCLOG("没有背景音乐播放");
        }
3.停止背景音乐
 
 SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
4.暂停背景音乐
 
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
5.恢复背景音乐
 
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
6.重头调用背景音乐
 SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();


音效部分


1.播放音效
 
 m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());
2.重复播放音效
m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str(), true);
3.停止播放音效
 
SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);
4.卸载音效
 
SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());
5.暂停音效
 SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);
6.恢复音效
 SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);
7.暂停所有音效
 
 SimpleAudioEngine::sharedEngine()->pauseAllEffects();
8.恢复所有音效
        SimpleAudioEngine::sharedEngine()->resumeAllEffects();
9.停止所有音效
        SimpleAudioEngine::sharedEngine()->stopAllEffects();