我编写以下代码并在播放开始后应用它们(mp.start())。
PresetReverb pr = new PresetReverb(100, 0);
mp.attachAuxEffect(pr.getId());
mp.setAuxEffectSendLevel((float)0.7);
当我不应用上述代码时,我听不到任何差异。为什么?如何使用这种方法? 顺便提一下,我已经添加了权限MODIFY_AUDIO_SETTINGS。
答案 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 ..