Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.9.2 BGMを鳴らす #29

Open
niku opened this issue Mar 7, 2015 · 0 comments
Open

4.9.2 BGMを鳴らす #29

niku opened this issue Mar 7, 2015 · 0 comments

Comments

@niku
Copy link
Owner

niku commented Mar 7, 2015

cocos2d-x の CocosDenshion::SimpleAudioEngine::getInstance() に対応するのは
cocos2d-js では cc.audioEngine である.

cocos2d-x だと playBackgroundMusic という名前でBGMを再生しているところ
cocos2d-js では [playMusic](http://www.cocos2d-x.org/reference/html5-js/V3.2/symbols/cc.audioEngine.html#.playMusic) に相当するようだ.

ゲームを一時停止したときにBGMを止める処理

ブラウザ版 (cocos2d-html5) には含まれていないようだった.
確かに実際に html で表示しているときはブラウザやタブの選択状態で音が出たり止まったりするので,BGM の一時停止の処理を明示的に書く必要がないのだろう.

ちなみに iOS 実機で試したところ

  • Safari では他のアプリを開いたとき(ブラウザがアクティブではなくなったとき)に音が止まった
  • Chrome では音が鳴り続けた

という違いがあった.


アプリとしてビルドしたとき(cocos2d-js) にどうなるか気になるので少し調べた.
cocos2d-js/frameworks/js-bindings/cocos2d-x/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java というパスを辿ると
handleOnPausehandleOnResume というメソッドがあり,その中で音の停止や再生を行っているようだった.

つまり Cocos2dxRenderer.java が cocos2d-js で実際に呼ばれて使われているなら,
プログラマが明示的に記述しなくても cocos2d-js でうまく扱ってくれるのだろう.
(たぶん)

niku added a commit that referenced this issue Mar 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant