2011-07-15 44 views
0

我寫下面的代碼並在播放開始後應用它們(mp.start())。Android類MediaPlayer的attachAuxEffect不起作用

PresetReverb pr = new PresetReverb(100, 0); 
    mp.attachAuxEffect(pr.getId()); 
    mp.setAuxEffectSendLevel((float)0.7); 

而我沒有聽到任何區別,當我不應用上述代碼。爲什麼?如何使用這種方法? 我已經按順序添加了權限MODIFY_AUDIO_SETTINGS。

+0

與我同樣的問題,你有沒有找到任何解決方案? –

+0

嘗試啓用PresetReverb時,我也沒有任何結果。注意你不要調用'pr.setPreset()'。但是,這並沒有改變我的任何東西。 – Peterdk

回答

0

你可以用下面的代碼試試:

PresetReverb pr = new PresetReverb(0, 0); 
pr.setPreset(PRESET_LARGEHALL); 
pr.setEnabled(true); 
mp.attachAuxEffect(pr.getId()); 
mp.setAuxEffectSendLevel((float)0.7); 
0

使用它像

PresetReverb mReverb = new PresetReverb(0,mMediaPlayer.getAudioSessionId());//<<<<<<<<<<<<< 
mReverb.setPreset(PresetReverb.PRESET_SMALLROOM); 
mReverb.setEnabled(true); 
mMediaPlayer.setAuxEffectSendLevel(1.0f); 

而且不需要調用mMediaPlayer.attachAuxEffect(mReverb.getId())。它已經設置好了。而全局音頻會話ID 0已棄用。