Android类MediaPlayer的attachAuxEffect不起作用

时间:2011-07-15 03:44:38

标签: android

我编写以下代码并在播放开始后应用它们(mp.start())。

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

当我不应用上述代码时,我听不到任何差异。为什么?如何使用这种方法? 顺便提一下,我已经添加了权限MODIFY_AUDIO_SETTINGS。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码:

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

答案 1 :(得分: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 ..