Most visited

Recently visited

Added in API level 9

EnvironmentalReverb

public class EnvironmentalReverb
extends AudioEffect

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


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

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

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

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

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

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

Summary

Nested classes

interface EnvironmentalReverb.OnParameterChangeListener

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

class EnvironmentalReverb.Settings

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

Constants

int PARAM_DECAY_HF_RATIO

衰变HF比率。

int PARAM_DECAY_TIME

衰退时间。

int PARAM_DENSITY

密度。

int PARAM_DIFFUSION

扩散。

int PARAM_REFLECTIONS_DELAY

早期反射延迟。

int PARAM_REFLECTIONS_LEVEL

早期的思考水平。

int PARAM_REVERB_DELAY

混响延迟。

int PARAM_REVERB_LEVEL

混响水平。

int PARAM_ROOM_HF_LEVEL

房间HF水平。

int PARAM_ROOM_LEVEL

房间的水平。

Inherited constants

From class android.media.audiofx.AudioEffect

Inherited fields

From class android.media.audiofx.AudioEffect

Public constructors

EnvironmentalReverb(int priority, int audioSession)

类构造函数。

Public methods

short getDecayHFRatio()

获取高频衰减时间(5 kHz时)相对于低频率的比率。

int getDecayTime()

获取衰减时间。

short getDensity()

获取密度等级。

short getDiffusion()

获取扩散级别。

EnvironmentalReverb.Settings getProperties()

获取环境混响属性。

int getReflectionsDelay()

获取反射延迟。

short getReflectionsLevel()

获取早期反射的音量级别。

int getReverbDelay()

获取混响延迟。

short getReverbLevel()

获取混响级别。

short getRoomHFLevel()

获取房间HF级别。

short getRoomLevel()

获取环境混响效果的主音量级别。

void setDecayHFRatio(short decayHFRatio)

设置高频衰减时间(5 kHz时)与低频衰减时间的比值。

void setDecayTime(int decayTime)

设置混响水平衰减60 dB所用的时间。

void setDensity(short density)

控制后期混响衰减的模态密度。

void setDiffusion(short diffusion)

设置后期混响衰减中的回声密度。

void setParameterListener(EnvironmentalReverb.OnParameterChangeListener listener)

注册OnParameterChangeListener接口。

void setProperties(EnvironmentalReverb.Settings settings)

设置环境混响属性。

void setReflectionsDelay(int reflectionsDelay)

设置早期反射的延迟时间。

void setReflectionsLevel(short reflectionsLevel)

设置早期反射的音量级别。

void setReverbDelay(int reverbDelay)

设置第一个反射和混响之间的时间。

void setReverbLevel(short reverbLevel)

设置后期混响的音量级别。

void setRoomHFLevel(short roomHF)

将总体混响效果的低频处的音量水平设置为5 kHz时的音量水平。

void setRoomLevel(short room)

设置环境混响效果的主音量级别。

Inherited methods

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

Constants

PARAM_DECAY_HF_RATIO

Added in API level 9
int PARAM_DECAY_HF_RATIO

衰变HF比率。 参数ID为EnvironmentalReverb.OnParameterChangeListener

常量值:3(0x00000003)

PARAM_DECAY_TIME

Added in API level 9
int PARAM_DECAY_TIME

衰退时间。 OnParameterChangeListener的参数ID

常量值:2(0x00000002)

PARAM_DENSITY

Added in API level 9
int PARAM_DENSITY

密度。 OnParameterChangeListener的参数ID

常量值:9(0x00000009)

PARAM_DIFFUSION

Added in API level 9
int PARAM_DIFFUSION

扩散。 OnParameterChangeListener的参数ID

常量值:8(0x00000008)

PARAM_REFLECTIONS_DELAY

Added in API level 9
int PARAM_REFLECTIONS_DELAY

早期反射延迟。 OnParameterChangeListener的参数ID

常量值:5(0x00000005)

PARAM_REFLECTIONS_LEVEL

Added in API level 9
int PARAM_REFLECTIONS_LEVEL

早期的思考水平。 OnParameterChangeListener的参数ID

常量值:4(0x00000004)

PARAM_REVERB_DELAY

Added in API level 9
int PARAM_REVERB_DELAY

混响延迟。 OnParameterChangeListener的参数ID

常量值:7(0x00000007)

PARAM_REVERB_LEVEL

Added in API level 9
int PARAM_REVERB_LEVEL

混响水平。 OnParameterChangeListener的参数ID

常数值:6(0x00000006)

PARAM_ROOM_HF_LEVEL

Added in API level 9
int PARAM_ROOM_HF_LEVEL

房间HF水平。 OnParameterChangeListener的参数ID

常数值:1(0x00000001)

PARAM_ROOM_LEVEL

Added in API level 9
int PARAM_ROOM_LEVEL

房间的水平。 OnParameterChangeListener的参数ID

常量值:0(0x00000000)

Public constructors

EnvironmentalReverb

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

类构造函数。

Parameters
priority int: the priority level requested by the application for controlling the EnvironmentalReverb 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 EnvironmentalReverb will be attached to the MediaPlayer or AudioTrack in the same audio session. Otherwise, the EnvironmentalReverb will apply to the output mix. As the EnvironmentalReverb 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

getDecayHFRatio

Added in API level 9
short getDecayHFRatio ()

获取高频衰减时间(5 kHz时)相对于低频率的比率。

Returns
short the decay HF ration. See setDecayHFRatio(short) for units.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getDecayTime

Added in API level 9
int getDecayTime ()

获取衰减时间。

Returns
int the decay time in milliseconds.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getDensity

Added in API level 9
short getDensity ()

获取密度等级。

Returns
short the density level. See setDiffusion(short) for units.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getDiffusion

Added in API level 9
short getDiffusion ()

获取扩散级别。

Returns
short the diffusion level. See setDiffusion(short) for units.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getProperties

Added in API level 9
EnvironmentalReverb.Settings getProperties ()

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

Returns
EnvironmentalReverb.Settings an EnvironmentalReverb.Settings object containing all current parameters values
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getReflectionsDelay

Added in API level 9
int getReflectionsDelay ()

获取反射延迟。

Returns
int the early reflections delay in milliseconds.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getReflectionsLevel

Added in API level 9
short getReflectionsLevel ()

获取早期反射的音量级别。

Returns
short the early reflections level in millibels.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getReverbDelay

Added in API level 9
int getReverbDelay ()

获取混响延迟。

Returns
int the reverb delay in milliseconds.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getReverbLevel

Added in API level 9
short getReverbLevel ()

获取混响级别。

Returns
short the reverb level in millibels.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getRoomHFLevel

Added in API level 9
short getRoomHFLevel ()

获取房间HF级别。

Returns
short the room HF level in millibels.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

getRoomLevel

Added in API level 9
short getRoomLevel ()

获取环境混响效果的主音量级别。

Returns
short the room level in millibels.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setDecayHFRatio

Added in API level 9
void setDecayHFRatio (short decayHFRatio)

设置高频衰减时间(5 kHz时)与低频衰减时间的比值。

Parameters
decayHFRatio short: high frequency decay ratio using a permille scale. The valid range is [100, 2000]. A ratio of 1000 indicates that all frequencies decay at the same rate.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setDecayTime

Added in API level 9
void setDecayTime (int decayTime)

设置混响水平衰减60 dB所用的时间。

Parameters
decayTime int: decay time in milliseconds. The valid range is [100, 20000].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setDensity

Added in API level 9
void setDensity (short density)

控制后期混响衰减的模态密度。

该比例应近似地映射到混响中感知到的变化。 较低的密度会产生空心声音,可用于模拟浴室等小型混响空间。

Parameters
density short: density specified using a permille scale. The valid range is [0, 1000]. A value of 1000 o/oo indicates a natural sounding reverberation. Values below this level produce a more colored effect.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setDiffusion

Added in API level 9
void setDiffusion (short diffusion)

设置后期混响衰减中的回声密度。

该比例应近似地映射到混响中感知到的变化。

Parameters
diffusion short: diffusion specified using a permille scale. The diffusion valid range is [0, 1000]. A value of 1000 o/oo indicates a smooth reverberation decay. Values below this level give a more grainy character.
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setParameterListener

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

注册OnParameterChangeListener接口。

Parameters
listener EnvironmentalReverb.OnParameterChangeListener: OnParameterChangeListener interface registered

setProperties

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

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

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

setReflectionsDelay

Added in API level 9
void setReflectionsDelay (int reflectionsDelay)

设置早期反射的延迟时间。

这种方法设定了听到直接路径和听到第一个反射的时间。

Parameters
reflectionsDelay int: reflections delay in milliseconds. The valid range is [0, 300].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setReflectionsLevel

Added in API level 9
void setReflectionsLevel (short reflectionsLevel)

设置早期反射的音量级别。

此级别与整体房间级别(使用 setRoomLevel(short)设置)相结合。

Parameters
reflectionsLevel short: reflection level in millibels. The valid range is [-9000, 1000].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setReverbDelay

Added in API level 9
void setReverbDelay (int reverbDelay)

设置第一个反射和混响之间的时间。

Parameters
reverbDelay int: reverb delay in milliseconds. The valid range is [0, 100].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setReverbLevel

Added in API level 9
void setReverbLevel (short reverbLevel)

设置后期混响的音量级别。

此级别与整体房间级别(使用 setRoomLevel(short)设置)相结合。

Parameters
reverbLevel short: reverb level in millibels. The valid range is [-9000, 2000].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setRoomHFLevel

Added in API level 9
void setRoomHFLevel (short roomHF)

将总体混响效果的低频处的音量水平设置为5 kHz时的音量水平。

这将控制一个低通滤波器,这将降低高频的水平。

Parameters
roomHF short: high frequency attenuation level in millibels. The valid range is [-9000, 0].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

setRoomLevel

Added in API level 9
void setRoomLevel (short room)

设置环境混响效果的主音量级别。

Parameters
room short: room level in millibels. The valid range is [-9000, 0].
Throws
IllegalStateException
IllegalArgumentException
UnsupportedOperationException
IllegalStateException
IllegalArgumentException

Hooray!