2010-12-07 19 views
1

非常に具体的で再現性のあるケースでは、次の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/

で公開されています。

答えて

1

で公開されています。これにより、実際にゲームをクラッシュさせずに、シミュレータとデバイスで同じように動作することなく、AVAudioPlayerのメモリ破損が発生している可能性があります。これを修正し、AVAudioPlayerが動作するようになりました。

関連する問題