背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下:

  1. SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
  2. SimpleAudioEngine::getInstance()->resumeBackgroundMusic();

它们的调用一般情况下是在游戏退到后台时调用暂停函数resumeBackgroundMusic(),然后在回到前台时候调用继续函数pauseBackgroundMusic()。这些代码应该放在游戏生命周期函数,如下代码所示。

  1. voidAppDelegate::applicationDidEnterBackground() {
  2. Director::getInstance()->stopAnimation();
  3. SimpleAudioEngine::getInstance()->pauseBackgroundMusic();                                              ①
  4. }
  5. voidAppDelegate::applicationWillEnterForeground() {
  6. Director::getInstance()->startAnimation();
  7. SimpleAudioEngine::getInstance()->resumeBackgroundMusic();                                            ②
  8. }

函数applicationDidEnterBackground是在游戏进入到后台时候回调的函数,在该函数中我们往往需要暂停所有的背景音乐播放(见代码第①行)。而在游戏回到前台时候回调applicationWillEnterForeground,在该函数中我们往往需要继续播放背景音乐(见代码第②行)。

更多内容请关注Cocos2d-x系列图书《Cocos2d-x实战(卷Ⅰ):C++开发》
本书交流讨论网站:http://www.cocoagame.net
欢迎加入cocos2d-x技术讨论群:257760386、327403678
 
05-06 05:53