JavaTM Platform
Standard Ed. 6

javax.sound.sampled
类 ReverbType

java.lang.Object
  继承者 javax.sound.sampled.ReverbType

public class ReverbType
extends Object

ReverbType 类提供用于访问应用于音频信号的各种回响设置的方法。

回响模拟从一个房间的墙壁、天花板和地板发出的声音反射。根据房间的大小和房间表面材料吸收和反射度,声音可能回响很长时间才消失。

ReverbType 提供的回响参数由早期反射的延迟时间和强度、晚期反射的延迟时间和强度以及总衰减时间组成。早期反射是房间表面发出的直接信号的单独初始低级反射。晚期反射是以房间回响为特征的密集型高级返射。启动这两种反射类型的延迟时间使侦听器认识到房间形状和容量的总体大小和复杂性。房间越大,反射延迟时间越长。早期和晚期的反射强度定义了反射信号与直接信号相比的音量(以分贝为单位)。这些强度使侦听器记住房间表面和其中物体的吸收特性。衰减时间定义回响在不再被察觉之前(“有效 0”)呈指数级衰减所用的时间。表面的吸收力越大或越小,衰减时间都会变得越长。

这里定义的参数集合可能不包括回响的所有方面,正如有些系统指定的一样。例如,Midi 制造商联盟 (MMA) 有一个交互式专业组 (IASIG),该组有一个已定义 Level 2 Spec 的 3-D 工作组 (I3DL2)。I3DL2 支持回响过滤和对回响密度的控制。JavaSound 1.0 回响控件的定义中不包括这些属性。在此情况下,实现系统应该要么扩展定义的回响控件以包括附加的参数,要么以适合这里所描述模型的方式解释系统的其他功能。

如果在 I3DL2 兼容的设备上实现 JavaSound,则:

下表显示了实现可用于有代表性的一组回响设置的参数值。

回响类型和参数

类型 衰减时间 (ms) 晚期密度 (dB) 晚期延迟 (ms) 早期密度 (dB) 早期延迟 (ms)
山洞 2250 -2.0 41.3 -1.4 10.3
地下室 1600 -1.0 10.3 -0.7 2.6
车库 900 -6.0 14.7 -4.0 3.9
声音实验室 280 -3.0 8.0 -2.0 2.0
壁橱 150 -10.0 2.5 -7.0 0.6

从以下版本开始:
1.3

构造方法摘要
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
          构造具有指定回响参数值的新回响类型。
 
方法摘要
 boolean equals(Object obj)
          指示指定对象是否等于此回响类型,如果对象相同,则返回 true
 int getDecayTime()
          获得衰减时间,该时间是晚期反射削弱到有效 0 的总时间差。
 int getEarlyReflectionDelay()
          返回早期反射延迟时间,以微秒为单位。
 float getEarlyReflectionIntensity()
          返回早期反射密度,以分贝为单位。
 int getLateReflectionDelay()
          返回晚期反射延迟时间,以微秒为单位。
 float getLateReflectionIntensity()
          返回晚期反射密度,以分贝为单位。
 String getName()
          获得此回响类型的名称。
 int hashCode()
          终止 hashcode 方法。
 String toString()
          提供回响类型的 String 表示形式,包括其名称和其参数设置。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

ReverbType

protected ReverbType(String name,
                     int earlyReflectionDelay,
                     float earlyReflectionIntensity,
                     int lateReflectionDelay,
                     float lateReflectionIntensity,
                     int decayTime)
构造具有指定回响参数值的新回响类型。

参数:
name - 新回响类型的名称,或长度为 0 的 String
earlyReflectionDelay - 新类型的早期反射延迟时间,以微秒为单位
earlyReflectionIntensity - 新类型的早期反射密度,以 dB 为单位
lateReflectionDelay - 新类型的晚期反射延迟时间,以微秒为单位
lateReflectionIntensity - 新类型的晚期反射密度,以 dB 为单位
decayTime - 新类型的衰减时间,以微秒为单位
方法详细信息

getName

public String getName()
获得此回响类型的名称。

返回:
此回响类型的名称
从以下版本开始:
1.5

getEarlyReflectionDelay

public final int getEarlyReflectionDelay()
返回早期反射延迟时间,以微秒为单位。该时间是听到直接信号时和听到前几个早期反射时之间的时间差。

返回:
此回响类型的早期反射延迟时间,以微秒为单位

getEarlyReflectionIntensity

public final float getEarlyReflectionIntensity()
返回早期反射密度,以分贝为单位。这是相对于直接信号的头几个早期反射的振幅衰减。

返回:
此回响类型的早期反射密度,以 dB 为单位

getLateReflectionDelay

public final int getLateReflectionDelay()
返回晚期反射延迟时间,以微秒为单位。这是听到头几个早期反射时和听到头几个早期反射时之间的时间量。

返回:
此回响类型的晚期反射延迟时间,以微秒为单位

getLateReflectionIntensity

public final float getLateReflectionIntensity()
返回晚期反射密度,以分贝为单位。这是相对于直接信号的头几个晚期反射的振幅衰减。

返回:
此回响类型的晚期反射密度,以 dB 为单位

getDecayTime

public final int getDecayTime()
获得衰减时间,该时间是晚期反射削弱到有效 0 的总时间差。该有效 0 值与实现有关。

返回:
晚期反射的衰减时间,以微秒为单位

equals

public final boolean equals(Object obj)
指示指定对象是否等于此回响类型,如果对象相同,则返回 true

覆盖:
Object 中的 equals
参数:
obj - 要与之进行比较的引用对象
返回:
如果此回响类型与 obj 相同,则返回 true;否则返回 false
另请参见:
Object.hashCode(), Hashtable

hashCode

public final int hashCode()
终止 hashcode 方法。

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

public final String toString()
提供回响类型的 String 表示形式,包括其名称和其参数设置。字符串的具体内容可以在 Java Sound 的实现之间变化。

覆盖:
Object 中的 toString
返回:
回响类型名称和描述

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策