您的位置:华清远见教育科技集团 >> Android资料 >>Android音频混响特效的设置  
 
Android音频混响特效的设置
分享到:

混响即通过声音在不同路径传播下造成的反射叠加产生的声音特效,在Android中,Google给出了两个实现:EnvironmentalReverb和PresetReverb,其中推荐在游戏场景中应用EnvironmentalReverb,在音乐场景中应用PresetReverb。在创建混响实例时,在音频框架层将会同时创建一个混响引擎。混响的细节由OpenSL ES 1.0.1规范定义。

为了在通过AudioTrack、MediaPlayer进行音频播放时具有混响特效,在构建混响实例时指明音频流的会话ID即可。如果指定的会话ID为0,则混响作用于主要的音频输出混音器(mix)上,混响将会话ID指定为0需要"android.permission.MODIFY_AUDIO_SETTINGS"权限。

EnvironmentalReverb的参数包括:
        PARAM_DECAY_HF_RATIO、PARAM_DECAY_TIME、PARAM_DENSITY
        PARAM_DIFFUSION、PARAM_REFLECTIONS_DELAY、PARAM_REFLECTIONS_LEVEL
        PARAM_REVERB_DELAY、PARAM_REVERB_LEVEL、PARAM_ROOM_HF_LEVEL、PARAM_ROOM_LEVEL等。

PresetReverb的参数包括:
        PARAM_PRESET、PRESET_LARGEHALL、PRESET_LARGEROOM、PRESET_MEDIUMHALL
        PRESET_MEDIUMROOM、PRESET_NONE、PRESET_PLATE、PRESET_SMALLROOM等。

下面是设置PresetReverb属性的一般过程:
      PresetReverb mReverb = new PresetReverb(0, 0);
      PresetReverb.Settings settings = mReverb.getProperties();
      String str = settings.toString();
      settings = new PresetReverb.Settings(str);
      short preset = (settings.preset == PresetReverb.PRESET_SMALLROOM) ?
      PresetReverb.PRESET_MEDIUMROOM : PresetReverb.PRESET_SMALLROOM;
      settings.preset = preset;
      mReverb.setProperties(settings);

 
 更多相关文章

·Android可视化音频均衡器
·Android重低音及环绕音音效的添加
·如何使用Android JetPlayer类
·Android RingtoneManager 铃声管理
·Android AudioTrack音频播放分析
·Android音频记录的处理