2011-07-09 165 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是的,我修復了錯字。謝謝! –