私のゲームは、イントロ ビデオを表示することから始まります。その後、メイン メニューが読み込まれ、曲が再生されます。以下は、曲の作成と実行です。
try
{System.out.println("?????????? create and play");
menuSong = MediaPlayer.create(this, R.raw.kindergarten_ska);
menuSong.setLooping(true);
menuSong.start();
}
catch (Exception e)
{
System.out.println("??????????? caught");
}
A/libc(1898): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
MediaPlayer.create() 中にエラーがスローされます。厄介な部分は、エラーをキャッチする代わりに、アプリがイントロに戻ることです! その後、無限ループに陥ります。つまり、(私が見る限り)エラーを処理するためにできることは何もありません。
また、4.0.4 タブレットから実行しようとすると、このエラーが発生します。私の 2.2.1 フォンでは問題なく動作します。
このようなエラーは、何かが null であると信じ込ませますが、この場合に考えられるのは R 値だけです。これは ogg ファイルなので、タブレットで動作しない理由がわかりません。
また興味深いのは、これがクラッシュする唯一の MediaPlayer 使用法であることです。MediaPlayer は、コードの他の場所で問題なく動作します。