2

このコードをonCreate()メソッドで記述しましたが、何も再生されませんでした。

   SoundPool mSound = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
   AudioManager mAudioManager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);          

   int soundID = mSound.load(this, R.raw.sound1, 1);

   int streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
   mSound.play(soundID, streamVolume, streamVolume, 1, 0, 1f);

質問1:私のコードに問題はありますか?私はそれを間違ってしましたか?

いいえの場合、

質問2:私の音は.amrファイルです。それはによってサポートされていSoundPoolますか?サポートされているタイプは何ですか?

4

2 に答える 2

3

すべて問題ありませんが、読み込み後、プレイする前にしばらく待つ必要があります。読み込みに時間がかかります。「OnLoadCompleteListener」を使用して、サウンドがロードされているかどうかを確認できます。

于 2012-01-03T19:29:08.287 に答える
2

コード スニペットは正常に見えます。サポートされている形式のリストについては、ドキュメントを参照してください。代わりに .mp3 または .ogg または .wav を試す必要があるようです。AMR コーデックはドキュメントに従ってサポートされていますが、ファイルは .3gp 形式である必要があります。

于 2011-07-09T12:31:25.167 に答える