2012-04-27 9 views
1

私は起動時にアプリケーションの存続期間中にOpenALコンテキストを作成するiOSゲームに取り組んでいます。私たちはOpenALソースのプールを割り当てます。マップが読み込まれるたびに、サウンドエフェクト(.wav)がOpenALバッファにロードされ、プレイ時に使用可能なソースが検索されます。ロード/アンロードされるのはバッファそのものだけです。alGetError()(OpenALで)が有効なエラーコードの代わりに-1を返すとはどういう意味ですか?

alPlaySource()を呼び出すと、しばらくの間実行された後、一部のサウンドが機能しなくなります。 alGetError()の呼び出しは-1を返しますか? )alPlaySourceに先立ち()alGetError(コールは0

答えて

0

を私は考えますこれは非常に微妙なメモリリークで、上記のような奇妙な結果に終わりました。コードはいくつかの例のコード、すなわちバグであることが知られていて使用されるべきではないSoundEngineに基づいていました。

私たちはFMODに切り替わりました。

2

を返すこれは、iOS版は32

に同時再生源の数を制限しているという事実におそらくある参照:maximum number of OpenAL sound buffers on iPhone

+0

私たちは特に、割り当てられたバッファの数を32に制限しました。 –

+0

これは問題かもしれませんが、-1を返すことは仕様に従っていません。 – Bram