0

MenuSceneバックグラウンドミュージックを追加したい単純なものがありますが、オーディオソースを設定して音楽オブジェクトで再生を呼び出した後、オーディオが得られません。logcat でこのエラーが発生します

W/AudioTrack﹕ obtainBuffer timed out (is the CPU pegged?) 0xb96465f8 name=0x3user=00001ce0, server=00000c60 09-13 21:17:36.037 102-322/? W/AudioFlinger﹕ write blocked for 9946 msecs, 10 delayed writes, thread 0xb9628c00

私のコード:

 private void loadMenuAudio() {
    MusicFactory.setAssetBasePath("sound/");  
    try {
        mMusic = MusicFactory.createMusicFromAsset(engine.getMusicManager(), activity, "sure.wav");
        mMusic.play();
        mMusic.setLooping(true);

    } catch (IOException e) {
        Debug.e(e.getMessage());
    }

}

メニューは正常に表示され、機能していますが、音声が聞こえません。needMusicのエンジン オプションをすでに に設定していますtrue

4

1 に答える 1

0

これらのリソースはロードに時間がかかるため、シーンに入る前に onLoadResources() メソッドですべてのリソース (サウンド、音楽、テクスチャなど) をロードする必要があります。そのため、loadMenuAudio() メソッドを onLoadResources() に配置し、このメソッドを uiThread で実行します。すなわち。

runOnUiThread(new Runnable() {

            @Override
            public void run() {
                loadMenuAudio();                
            }
        });
于 2013-09-13T05:58:39.193 に答える