添加EnviromentalReverb和PresetReverb到媒体播放器(WAV和M4A等格式),但混响不适用

问题描述 投票:0回答:1

我工作在Android的一个简单的音乐应用程序,我已经尝试添加EnviromentalReverb和PresetReverb到媒体播放器(WAV和M4A等格式),但混响不适用。没有变化的音频播放时。我检查我的设备是否支持使用下面的代码混响和它的作用。我已经看了看计算器类似的问题,但没有问题的解答。

final AudioEffect.Descriptor[] effects = AudioEffect.queryEffects();
// Determine available/supported effects
for (final AudioEffect.Descriptor effect : effects) {
   Log.d("Effects", effect.name.toString() + ", type: " + effect.type.toString());
}

用于EnvironmentalReverb和PresetReverb代码是下面

First try

EnvironmentalReverb eReverb = new EnvironmentalReverb(1,0);
eReverb.setReverbDelay(85);
eReverb.setEnabled(true);
mMediaPlayer.attachAuxEffect(eReverb.getId());
mMediaPlayer.setAuxEffectSendLevel(1.0f);

Second try

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

为的setEnabled(真)都返回0,但是,音频没有工作。可有人请点我在正确的方向?我不知道什么是错的实现。

java android
1个回答
0
投票

回答我的问题,因此它可以对别人有帮助的。我是不是能够得到PresetReverb工作。该EnvironmentalReverb但被工作,但找出它是否工作,我不得不添加的房间级和混响水平seekbars这样我就可以实时改变它。

EnvironmentalReverb eReverb = new EnvironmentalReverb(0,0);
mMediaPlayer.attachAuxEffect(eReverb.getId());
mMediaPlayer.setAuxEffectSendLevel(1.0f);

我启用了一个按钮的点击混响,然后使用搜索栏来改变房间的水平和混响水平。

© www.soinside.com 2019 - 2024. All rights reserved.