0

在 Cocos2d (android) 中,我试图在 playEffect 运行时降低背景音量,而不是在 playEffect 结束后将其恢复。我有这个代码:

auto audio = SimpleAudioEngine::getInstance();

audio->playBackgroundMusic("sound/abc-theme.mp3", true);

audio->setBackgroundMusicVolume(0.1);

audio->playEffect("sound/airplane.mp3", false, 1.0f, 1.0f, 1.0f);

audio->setBackgroundMusicVolume(1);

问题是我不知道如何让 playEffect 结束,此代码“立即”将背景音乐设置为 1。如何在 PlayEffect 期间将背景音乐的音量设置为 0.1。

4

2 回答 2

1
auto audio = SimpleAudioEngine::getInstance();

audio->playBackgroundMusic("sound/abc-theme.mp3", true);

audio->setBackgroundMusicVolume(0.1);

audio->playEffect("sound/airplane.mp3", false, 1.0f, 1.0f, 1.0f);

this->scheduleOnce(schedule_selector(LoadingScene::loadingCallBack), 1.0f);

创建一个函数

void ClassName::loadingCallBack(){

 audio->setBackgroundMusicVolume(1);

 }
于 2015-02-23T20:05:29.947 回答
0

我已经这样做了

 const float Delay=1.0f;
 this->runAction(Sequence::create(DelayTime::create(Delay),CallFunc::create(CC_CALLBACK_0(ABC::bgVolumeUp, this)),nullptr));

和功能

void ABC::bgVolumeUp(){

audio->setBackgroundMusicVolume(1);

}

基本上它与 pankaj 建议的相似。他给了我这个方法的想法。

于 2015-02-24T08:33:10.727 回答