非常に具体的で再現性のあるケースでは、次のNSErrorでaudioPlayerDecodeErrorDidOccur:error:
を取得しています。audioPlayerDecodeErrorDidOccurでの再生を中断するAVAudioPlayer、NSOSStatusErrorDomain -50で
Error Domain=NSOSStatusErrorDomain Code=-50 "The operation couldn’t be completed. (OSStatus error -50.)"
これはOpenALも使用するゲームで発生します。私たちはOpenALを使ってサウンドを演奏していますが、ハードウェアのAACデコードを利用しようとしています。しかし、上記の事態は、私たちがOpenALで行っていることとは関係がないようです。
これは、シーン(ゲームモード)の切り替えを実行してから約2〜3秒後に発生しますが、from-and-toシーンの特定の組み合わせでのみ発生します。これらの出来事に関連する重要なオーディオは何もしないので、それは見知らぬ人でもあります。私はAVAudioPlayer
で何もしないことを確認しましたが、重要なことはOpenALでも行われていないようです。
私はAVAudioPlayer
を解放し、同じファイルを参照する別のファイルと置き換えることでこれを解決しようとしましたが、ファイル内で同じボリュームを使用し、同じ時間から再開します。しかし、数秒後には、このプレーヤーも上記のエラーを投げます。一方、新しい曲に切り替えると、問題のない完全に機能的なプレーヤーが作成されます。
私の質問は、この文脈ではエラー-50はどういう意味ですか、それがどういう意味なのか、どう思いますか?
(意味があれば、ゲームはiOS 3.1.2で最低限動作しなければならない)。
コードのOpenAL部分を無効にしようとしました。それは助けになりませんでした。
オーディオライブラリのコードは、http://libxal.svn.sf.net/svnroot/libxal/trunk/
で公開されています。