2013-04-21 64 views
2

我试图将混响效果通过对输出组合创造了混响(音频会话“0”),以媒体播放器,当我开始我用这个代码媒体播放器混响不工作

public void reverb1(View v){ 
    PresetReverb mReverb = new PresetReverb(0,0);//<<<<<<<<<<<<< 
    mReverb.setPreset(PresetReverb.PRESET_LARGEROOM); 
    mReverb.setEnabled(true); 
    mp1.attachAuxEffect(mReverb.getId()); 
    mp1.setAuxEffectSendLevel(1.0f); 

} 

然而歌曲和应用效果什么也没有发生,歌曲继续和混响效果不适用。我还在清单<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 中加入了这个权限,结果还是一样,我做错了什么? 我也试过PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId());但仍然是相同的结果。

任何帮助将不胜感激

回答

0
PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId()); 

这个构造函数有两个参数,第一个是重点,另外一个是音频会话ID。如果你想混响比保持优先级1并使用全局audiosessionId。

PresetReverb mReverb = new PresetReverb(1, 0); 
mReverb.setPreset(PresetReverb.PRESET_LARGEROOM); 
mReverb.setEnabled(true); 
mp1.attachAuxEffect(mReverb.getId()); 
mp1.setAuxEffectSendLevel(1.0f); 

还有一点需要注意的是,这种混响效果在某些设备中不受支持......因为它们具有有限的均衡器频带。我没有完美的资源来确认我关于某些设备的状态,但我在某些设备上测试过相同的设备&它对某些设备工作正常,对某些设备工作不正常

+0

您好,我遇到同样的问题吗?为了这。我正在寻找这么多天的解决方案,但没有得到任何。请提前分享您的解决方案,感谢混响问题,并热切地等待您的答复..... – Ram 2013-07-12 10:02:45

+0

它不适用于某些设备...尝试使用sony的手机,它可能会工作 – 2013-07-15 09:18:40