背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下:
- SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
- SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
它们的调用一般情况下是在游戏退到后台时调用暂停函数resumeBackgroundMusic(),然后在回到前台时候调用继续函数pauseBackgroundMusic()。这些代码应该放在游戏生命周期函数,如下代码所示。
- voidAppDelegate::applicationDidEnterBackground() {
- Director::getInstance()->stopAnimation();
- SimpleAudioEngine::getInstance()->pauseBackgroundMusic(); ①
- }
- voidAppDelegate::applicationWillEnterForeground() {
- Director::getInstance()->startAnimation();
- SimpleAudioEngine::getInstance()->resumeBackgroundMusic(); ②
- }
函数applicationDidEnterBackground是在游戏进入到后台时候回调的函数,在该函数中我们往往需要暂停所有的背景音乐播放(见代码第①行)。而在游戏回到前台时候回调applicationWillEnterForeground,在该函数中我们往往需要继续播放背景音乐(见代码第②行)。
更多内容请关注Cocos2d-x系列图书《Cocos2d-x实战(卷Ⅰ):C++开发》
本书交流讨论网站:http://www.cocoagame.net
欢迎加入cocos2d-x技术讨论群:257760386、327403678