android中的混响效应对音乐的影响
我目前正在开发一个音乐应用程序。我正在尝试在android中使用类在应用程序中实现混响功能。我已经成功地实现了均衡器频带、低音助推器和虚拟化器,它们都工作得很好。但在混响的情况下,它不会对声音做出任何改变 现在,我已经知道混响效果并不存在于所有android设备中,但我的设备(三星Galaxy S4 w/android版本5.0.1)在默认音乐播放器中具有混响效果 实施:-android中的混响效应对音乐的影响,android,Android,我目前正在开发一个音乐应用程序。我正在尝试在android中使用类在应用程序中实现混响功能。我已经成功地实现了均衡器频带、低音助推器和虚拟化器,它们都工作得很好。但在混响的情况下,它不会对声音做出任何改变 现在,我已经知道混响效果并不存在于所有android设备中,但我的设备(三星Galaxy S4 w/android版本5.0.1)在默认音乐播放器中具有混响效果 实施:- ... // Three dots mean other code not relevant to question
... // Three dots mean other code not relevant to question
1)音乐服务类
这是处理应用程序的服务。(用于音频效果的初始化)
2)均衡器活动
此活动用于设置音频效果
public class MusicService extends Service implements
MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener,
MediaPlayer.OnCompletionListener {
public static PresetReverb mPresetReverb; //Here I declare the PresetReverb Effect
...
@Override
public void onPrepared(MediaPlayer mp) {
//start playback
mp.start();
if (player != null) {
...
mPresetReverb = new PresetReverb(1, 0);
...
mEqualizer.setEnabled(true);
}
}
...
}
public class EqualizerActivity extends AppCompatActivity {
...
public void reverbPresetClicked(View view) {
switch (view.getId()) {
case R.id.none_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_NONE);
break;
case R.id.small_room_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_SMALLROOM);
break;
case R.id.medium_room_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_MEDIUMROOM);
break;
case R.id.large_room_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_LARGEROOM);
break;
case R.id.plate_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_PLATE);
break;
case R.id.medium_hall_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_MEDIUMHALL);
break;
case R.id.large_hall_preset:
MusicService.mPresetReverb.setPreset(PresetReverb.PRESET_LARGEHALL);
break;
}
Log.e("Equalizer", "Preset Reverb : " + MusicService.mPresetReverb.getPreset());
MusicService.mPresetReverb.setEnabled(true);
MusicService.player.attachAuxEffect(MusicService.mPresetReverb.getId());
MusicService.player.setAuxEffectSendLevel(1.0f);
}
...
}
Log语句的输出证明正在设置预设,但声音仍然没有变化
如果代码正确且设备存在问题,是否有人可以向我发送支持混响效果的设备列表,或者如果代码有问题,是否有人向我指出了正确的方向?您是否发现了原因,您没有听到任何声音差异?我也有同样的问题。你找到原因了吗?你没有听到任何声音上的差异?我也有同样的问题。