1

私はiOSゲームに取り組んでおり、アプリケーションの存続期間中存在する起動時にOpenALコンテキストを作成します。OpenALソースのプールを割り当てます。マップがロードされるたびに、サウンドエフェクト(.wav)がOpenALバッファーにロードされ、再生時に利用可能なソースが検索されます。ロード/アンロードされるのはバッファ自体だけです。

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

4

2 に答える 2

2

これはおそらく、iOSが同時再生ソースの数を32に制限しているという事実によるものです。

参照:iPhoneのOpenALサウンドバッファの最大数

于 2012-07-06T15:48:52.617 に答える
0

これは非常に微妙なメモリリークであり、上記のような奇妙な影響をもたらしたと思います。このコードは、バグのあることがわかっているため使用すべきではないSoundEngineなどのサンプルコードに基づいています。

最終的にFMODに切り替えました。

于 2012-12-12T07:01:20.637 に答える