我想申请在低音效果编程方式通过以下code:
BassBoost bassBoost =新BassBoost(0,audioSessionId);
bassBoost.setEnabled(真正的);
BassBoost.Settings bassBoostSettingTemp = bassBoost.getProperties();
BassBoost.Settings bassBoostSetting =新BassBoost.Settings(bassBoostSettingTemp.toString());
bassBoostSetting.strength = MAX_STRENGTH_FOR_BASS; // 1000
bassBoost.setProperties(bassBoostSetting);
bassBoost.setStrength((短)的进展);从搜索栏//进度值
但是低音效果不会对当前音频会话施加。 请帮助我,向我展示什么是错的。
解决方案检查是否支持与否。
bassBoost =新BassBoost(0,0);
bassBoost.setEnabled(真正的);
如果(bassBoost.getStrengthSupported())
{
短字1 = bassBoost.getRoundedStrength();
bassBoost.setStrength(字1);
}
和你也可以检查,不管你要测试的支持(它是依赖于设备)。你可以使用:
最后的描述符[]的效果= AudioEffect.queryEffects();
//确定可用/支持作用
对于(最后描述的效果:效果){
Log.d(TAG,effect.name.toString()+,输入:+ effect.type.toString());
}
I am trying to apply the Bass Effects programmatically by using the following code:
BassBoost bassBoost = new BassBoost(0, audioSessionId);
bassBoost.setEnabled(true);
BassBoost.Settings bassBoostSettingTemp = bassBoost.getProperties();
BassBoost.Settings bassBoostSetting = new BassBoost.Settings(bassBoostSettingTemp.toString());
bassBoostSetting.strength = MAX_STRENGTH_FOR_BASS; // 1000
bassBoost.setProperties(bassBoostSetting);
bassBoost.setStrength((short) progress); // progress value from seek bar
But the bass effects aren't applied on the current audio session. Please help me by showing me what's wrong.
解决方案Check whether it is supported or not.
bassBoost = new BassBoost(0, 0);
bassBoost.setEnabled(true);
if (bassBoost.getStrengthSupported())
{
short word1 = bassBoost.getRoundedStrength();
bassBoost.setStrength(word1);
}
And you can also check that whatever you're testing on supports it (it is device-dependent). You can use:
final Descriptor[] effects = AudioEffect.queryEffects();
// Determine available/supported effects
for (final Descriptor effect : effects) {
Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}