2011-07-09 18 views
1

onCreate()メソッドでこのコードを書きましたが、何も再生されませんでした。Android soundPoolサポート拡張機能?

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でサポートされていますか?サポートされているタイプは何ですか?

答えて

2

すべては問題ありませんが、ロード後と再生前にしばらくお待ちください。ロードには時間がかかります。サウンドが "OnLoadCompleteListener"の助けで読み込まれているかどうかを確認することができます。

+0

あなたは完全に正しいです。私はそれを理解し、質問を更新するのを忘れてしまった。ありがとう。 – iTurki

2

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

+0

申し訳ありませんが、明らかに.waveによって.wavを意味しますか? – reubenjohn

+0

@reubenjohnはい、私はタイプミスを修正しました。ありがとうございました! –

関連する問題