閱讀865 返回首頁    go 技術社區[雲棲]


Cocos2d-x中停止播放背景音樂

停止背景音樂播放代碼放置到什麼地方比較適合呢例如在HelloWorld場景中主要代碼如下

bool HelloWorld::init()
{
   return true;
}
 
void HelloWorld::onEnter()
{
    Layer::onEnter();
    log("HelloWorldonEnter");
}
 
voidHelloWorld::onEnterTransitionDidFinish()
{
    Layer::onEnterTransitionDidFinish();
    log("HelloWorldonEnterTransitionDidFinish");        
}
 
void HelloWorld::onExit()
{
    Layer::onExit();
    log("HelloWorldonExit");
    //停止播放代碼                                                                                                                          ①
}
 
voidHelloWorld::onExitTransitionDidStart()
{
    Layer::onExitTransitionDidStart();
    log("HelloWorldonExitTransitionDidStart");     
    //停止播放代碼                                                                                                                          ②
}
 
void HelloWorld::cleanup()
{
    Layer::cleanup();                                                                                                                              
    log("HelloWorldcleanup");
    //停止播放代碼                                                                                                                          ③
}

關於停止背景音樂播放理論上我們是可以將停止播放代碼SimpleAudioEngine::getInstance()->stopBackgroundMusic("sound/Jazz.mp3")放置到三個位置代碼中的①、②、③。下麵我們分別分析一下它們還有什麼不同。

 

1、代碼放到第①和②行

代碼放到第①和②行即在HelloWorld::init函數如果後麵場景中調用背景音樂播放則可以導致播放背景音樂異常。關於這個問題我們在前一節以及介紹過了。

 

2、代碼放到第③行

代碼放到第③行即在HelloWorld::cleanup函數這個函數是在層對象清除時候調用在此處停止背景音樂播放是比較好的選擇。



更多內容請關注最新Cocos圖書《Cocos2d-x實戰 C++卷》
本書交流討論網站https://www.cocoagame.net
更多精彩視頻課程請關注智捷課堂Cocos課程https://v.51work6.com
歡迎加入Cocos2d-x技術討論群257760386


《Cocos2d-x實戰 C++卷》現已上線各大商店均已開售

京東https://item.jd.com/11584534.html

亞馬遜https://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

當當https://product.dangdang.com/23606265.html

互動出版網https://product.china-pub.com/3770734

《Cocos2d-x實戰 C++卷》源碼及樣章下載地址

源碼下載地址https://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

樣章下載地址https://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

歡迎關注智捷iOS課堂微信公共平台

最後更新:2017-04-03 05:39:40

  上一篇:go Apache Crunch設計:基礎數據處理
  下一篇:go puts 和 printf %s【gets 和 %s姐妹篇】