例えばサウンドの再生、OGGファイルを読み込んで再生するような場合、
・ファイルの読み込み
・オブジェクトの初期化などOpenSLで必要な各種設定
・出だしのデータのデコード
・再生
と、結構多くの処理が必要です。
その処理の間メインを止めてしまっているのは何とも忍びないので、サウンドは別のスレッドで非同期に処理するようにしてみます。
具体的には、
・再生などの命令が来たら、その命令とパラメータをキューに貯める
・別のスレッドで非同期にキューを監視して、命令を処理する
という流れになります。
キューを管理するスレッドの処理は javaで行います。
SoundManager.java
セコメントをする