Most visited

Recently visited

Added in API level 9

PresetReverb

public class PresetReverb
extends AudioEffect

java.lang.Object
   ↳ android.media.audiofx.AudioEffect
     ↳ android.media.audiofx.PresetReverb


房间内产生的声音向多个方向传播。 聆听者首先听到来自声源本身的直接声音。 之后,他或她会听到离开墙壁,天花板和地板声音的离散回声。 随着声波在经过越来越多的反射后到达,单个反射变得难以区分,并且听众听到随时间衰减的连续混响。 混响对建模听众环境至关重要。 它可用于音乐应用程序来模拟在各种环境中播放的音乐,或用于将听众沉浸在游戏环境中的游戏。 PresetReverb类允许应用程序使用混响预设来配置全局混响。 这主要用于在音乐回放环境中添加一些混响。 建议需要控制更先进的环境混响的应用程序使用EnvironmentalReverb类。

应用程序创建一个PresetReverb对象来实例化并控制音频框架中的混响引擎。

PresetReverb实现公开的方法,参数类型和单位直接映射到SLPresetReverbItf接口的OpenSL ES 1.0.1规范(http://www.khronos.org/opensles/)定义的方法,参数类型和单位。 有关更多详细信息,请参阅此规范。

PresetReverb是一种输出混合辅助效果,应在音频会话0中创建。为了使MediaPlayer或AudioTrack得到此效果,必须将其明确地附加到它上面,并且必须指定发送级别。 将它附加到MediaPlayer或AudioTrack时,使用getId()方法返回的效果ID来指定此特定效果。

在输出混音(音频会话0)上创建混响需要权限 MODIFY_AUDIO_SETTINGS

有关控制音频效果的更多详细信息,请参见 AudioEffect类。

Summary

Nested classes

interface PresetReverb.OnParameterChangeListener

OnParameterChangeListener接口定义了当参数值发生变化时由PresetReverb调用的方法。

class PresetReverb.Settings

设置类重新组合所有预设混响参数。

Constants

int PARAM_PRESET

预置。

short PRESET_LARGEHALL

代表适合全管弦乐队的大型礼堂的混响预设

short PRESET_LARGEROOM

代表适合现场表演的大型房间的混响预设

short PRESET_MEDIUMHALL

表示中等大小的混响预设

short PRESET_MEDIUMROOM

代表长度不超过10米的中型房间的混响预设

short PRESET_NONE

没有混响或反射

short PRESET_PLATE

表示混合传统平板混响的混响预设

short PRESET_SMALLROOM

表示小于5米长的小房间的混响预设

Inherited constants

From class android.media.audiofx.AudioEffect

Inherited fields

From class android.media.audiofx.AudioEffect

Public constructors

PresetReverb(int priority, int audioSession)

类构造函数。

Public methods

short getPreset()

获取当前混响预设。

PresetReverb.Settings getProperties()

获取预设的混响属性。

void setParameterListener(PresetReverb.OnParameterChangeListener listener)

注册OnParameterChangeListener接口。

void setPreset(short preset)

在混响中启用预设。

void setProperties(PresetReverb.Settings settings)

设置预设的混响属性。

Inherited methods

From class android.media.audiofx.AudioEffect
From class java.lang.Object

Constants

PARAM_PRESET

Added in API level 9
int PARAM_PRESET

预置。 参数ID为PresetReverb.OnParameterChangeListener

常量值:0(0x00000000)

PRESET_LARGEHALL

Added in API level 9
short PRESET_LARGEHALL

代表适合全管弦乐队的大型礼堂的混响预设

常量值:5(0x00000005)

PRESET_LARGEROOM

Added in API level 9
short PRESET_LARGEROOM

代表适合现场表演的大型房间的混响预设

常量值:3(0x00000003)

PRESET_MEDIUMHALL

Added in API level 9
short PRESET_MEDIUMHALL

表示中等大小的混响预设

常量值:4(0x00000004)

PRESET_MEDIUMROOM

Added in API level 9
short PRESET_MEDIUMROOM

代表长度不超过10米的中型房间的混响预设

常量值:2(0x00000002)

PRESET_NONE

Added in API level 9
short PRESET_NONE

没有混响或反射

常量值:0(0x00000000)

PRESET_PLATE

Added in API level 9
short PRESET_PLATE

表示混合传统平板混响的混响预设

常数值:6(0x00000006)

PRESET_SMALLROOM

Added in API level 9
short PRESET_SMALLROOM

表示小于5米长的小房间的混响预设

常数值:1(0x00000001)

Public constructors

PresetReverb

Added in API level 9
PresetReverb (int priority, 
                int audioSession)

类构造函数。

Parameters
priority int: the priority level requested by the application for controlling the PresetReverb engine. As the same engine can be shared by several applications, this parameter indicates how much the requesting application needs control of effect parameters. The normal priority is 0, above normal is a positive number, below normal a negative number.
audioSession int: system wide unique audio session identifier. If audioSession is not 0, the PresetReverb will be attached to the MediaPlayer or AudioTrack in the same audio session. Otherwise, the PresetReverb will apply to the output mix. As the PresetReverb is an auxiliary effect it is recommended to instantiate it on audio session 0 and to attach it to the MediaPLayer auxiliary output.
Throws
java.lang.IllegalArgumentException
java.lang.UnsupportedOperationException
RuntimeException
IllegalArgumentException
UnsupportedOperationException

Public methods

getPreset

Added in API level 9
short getPreset ()

获取当前混响预设。

Returns
short the preset that is set at the moment.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getProperties

Added in API level 9
PresetReverb.Settings getProperties ()

获取预设的混响属性。 当应用程序必须保存当前预设混响设置的快照时,此方法非常有用。

Returns
PresetReverb.Settings a PresetReverb.Settings object containing all current parameters values
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setParameterListener

Added in API level 9
void setParameterListener (PresetReverb.OnParameterChangeListener listener)

注册OnParameterChangeListener接口。

Parameters
listener PresetReverb.OnParameterChangeListener: OnParameterChangeListener interface registered

setPreset

Added in API level 9
void setPreset (short preset)

在混响中启用预设。

混响PRESET_NONE禁用当前输出中的任何混响,但不释放与混响相关的资源。 对于应用程序发信号给实现释放资源,它必须调用release()方法。

Parameters
preset short: this must be one of the the preset constants defined in this class. e.g. PRESET_SMALLROOM
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setProperties

Added in API level 9
void setProperties (PresetReverb.Settings settings)

设置预设的混响属性。 当必须从先前的备份应用预设混响设置时,此方法很有用。

Parameters
settings PresetReverb.Settings: a PresetReverb.Settings object containing the properties to apply
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

Hooray!