我试图通过在输出混合(音频会话“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());
但结果还是一样。
任何帮助将不胜感激
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);
还要注意的另一件事是,某些设备不支持这种混响效果......因为它们的均衡器频段有限。我没有完美的资源来确认我对某些设备的状态,但我在某些设备上进行了相同的测试,对于某些设备工作正常,而对于某些设备工作不正常
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)