5

StackOverflowを検索しましたが、私のような状況は見つかりません。私は4つのボタンを使用しており、各ボタンでサウンドファイルを再生しています。
私はSoundPoolを使用しています:Logを使用してLogCatにI通知を作成するもの
SoundPool sound = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);

も使用しています。 エミュレータでプログラムを起動すると、4つのサンプルすべてが完全にロードされているのがわかります。プログラム中、3つの音が鳴りますが、1つは常に次のように言います 。サウンドファイルは、方形波トーンを再生する16ビットpcmウェーブファイルです。 ロードコード:OnLoadCompleteListener()

WARN/SoundPool(4842): sample 0 not READY



sound.setOnLoadCompleteListener(new OnLoadCompleteListener(){

        @Override
        public void onLoadComplete(SoundPool sound, int sampleId, int status) {
            if(status != 0)
                Log.e("SOUND LOAD"," Sound ID: " + sampleId + " Failed to load.");
            else
                Log.i("SOUND LOAD"," Sound ID: " + sampleId + " loaded.");
        }
    });

    soundID[0] = sound.load(this, R.raw.greennote, 1);
    soundID[1] = sound.load(this, R.raw.rednote, 1);
    soundID[2] = sound.load(this, R.raw.yellownote, 1);
    soundID[3] = sound.load(this, R.raw.bluenote, 1);


音を出す:

streamid.setStreamId(myActivity.sound.play(id, 0.5f, 0.5f, 0, 0, 1));

4

1 に答える 1

2

私は同じ問題を抱えています。私の実験から、IDの処理に問題があるようです。SoundPoolは、数字が0のサウンドIDを好みません。

だから私は回避策を見つけました。サンプルIDを0ではなく1から始めます。これが機能することを願っています。

于 2011-12-04T18:34:17.730 に答える