チュートリアルをふとAndroidでも確認しておこうと思ってしまって、下らなすぎるところでハマったので、恥ずかしながらも記録… orz
HelloWorldScene で CocosDension::SimpleAudioEngine の効果音のロード・再生を試していたのですが、Android実機でも一応確認しておくかと思ったのが事の始まり…
「えっ…うそ…さいせいしない…?」
mp3 だろうが、ogg、wav なにひとつ音が出ない…
こんなところでつまづくなんて…と自己嫌悪になっていたが、ふと思ったのが
「AppDelegate でロードを試してみる…?」
…何も時間がかかるような事してないし…何も変わらないだろう…とは思いつつ、藁にもすがる思いでダメ元で試してみると…
「…鳴るじゃん…」
普通に再生できるこの脱力感…
CocosDension::SimpleAudioEngine::preloadEffect しなくても再生できる…と思っていたけど、Android ではダメなのかな…
サイズが大きいとかなら…まだ分かるけど…すごく小さいのに…
もしかしたら、と HelloWorld::HelloWorld() コンストラクタならどうだろう…と試してみたら… 普通に再生しました…
結論
Android 音ファイルのロードには時間がかかる?
(事前に読み込んでおいてから再生すべし)
この際、がおまるさんのブログの神の一行も自戒の念を込めてココに… ^^
Android の Javaクラスの onCreate() でこの一行忘れるべからず…
(…と思いつつもコードがそらでかけない自分…
public class AppActivity extends Cocos2dxActivity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //ボリュームの調整 setVolumeControlStream(AudioManager.STREAM_MUSIC); } }