我正在申请附加到MediaPlayer的声音效果,所以我让BassBoost工作
BassBoost bassBoost = new BassBoost(0, mp2.getAudioSessionId());
bassBoost.setEnabled(true);
BassBoost.Settings bassBoostSettingTemp = bassBoost.getProperties();
BassBoost.Settings bassBoostSetting = new BassBoost.Settings(bassBoostSettingTemp.toString());
bassBoostSetting.strength=1000;
bassBoost.setProperties(bassBoostSetting);
if(start2<1000){
start2 = (short) (start2 + 100);
//setUpBassBostandUI();
bassBoost.setStrength((short)start2);
System.out.println("short is: "+start2);}
bassBoost.setStrength((short) start2);
mp2.attachAuxEffect(bassBoost.getId());
但是我无法让Reverb工作,我尝试过PresentReverb并且我没有结果,现在我正在尝试使用EnvironmentalReverb并且没有任何影响
EnvironmentalReverb eReverb = new EnvironmentalReverb(0, mp2.getAudioSessionId());
eReverb.setDecayHFRatio((short) 100000);
eReverb.setDecayTime(100000);
eReverb.setDensity((short) 100000);
eReverb.setDiffusion((short) 100000);
eReverb.setReverbLevel((short) 100000);
eReverb.setReverbDelay(100);
eReverb.setEnabled(true);
mp2.attachAuxEffect(eReverb.getId());
mp2.setAuxEffectSendLevel(1.0f);
答案 0 :(得分:1)
检查您正在测试的任何内容是否支持它(它取决于设备)。您可以使用:
final Descriptor[] effects = AudioEffect.queryEffects();
// Determine available/supported effects
for (final Descriptor effect : effects) {
Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}
如果名字打印出有用的东西,我记不起来了。您可以在此处找到UUID:AudioEffect.java
如果支持并且您仍未听到任何内容,则可能必须将其应用于全局音频会话才能使其正常运行。这描述了here。