android中的混响效应对音乐的影响

android中的混响效应对音乐的影响,android,Android,我目前正在开发一个音乐应用程序。我正在尝试在android中使用类在应用程序中实现混响功能。我已经成功地实现了均衡器频带、低音助推器和虚拟化器,它们都工作得很好。但在混响的情况下,它不会对声音做出任何改变 现在,我已经知道混响效果并不存在于所有android设备中,但我的设备(三星Galaxy S4 w/android版本5.0.1)在默认音乐播放器中具有混响效果 实施:- ... // Three dots mean other code not relevant to question

我目前正在开发一个音乐应用程序。我正在尝试在android中使用类在应用程序中实现混响功能。我已经成功地实现了均衡器频带、低音助推器和虚拟化器,它们都工作得很好。但在混响的情况下,它不会对声音做出任何改变

现在,我已经知道混响效果并不存在于所有android设备中,但我的设备(三星Galaxy S4 w/android版本5.0.1)在默认音乐播放器中具有混响效果

实施:-

 ... // 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语句的输出证明正在设置预设,但声音仍然没有变化


如果代码正确且设备存在问题,是否有人可以向我发送支持混响效果的设备列表,或者如果代码有问题,是否有人向我指出了正确的方向?

您是否发现了原因,您没有听到任何声音差异?我也有同样的问题。你找到原因了吗?你没有听到任何声音上的差异?我也有同样的问题。