Spec-Zone.ru › OpenJDK 27

Класс ReverbType

java.lang.Object
javax.sound.sampled.ReverbType
public class ReverbType extends Object
Класс ReverbType предоставляет методы для доступа к различным настройкам реверберации, применяемым к аудиосигналу.

Реверберация имитирует отражение звука от стен, потолка и пола помещения. В зависимости от размера помещения, а также от того, насколько звукопоглощающими или отражающими являются материалы его поверхностей, звук может долго отражаться, прежде чем затихнуть.

Параметры реверберации, предоставляемые ReverbType, включают время задержки и интенсивность ранних отражений, время задержки и интенсивность поздних отражений, а также общее время затухания. Ранние отражения — это начальные отдельные отражения низкого порядка прямого сигнала от поверхностей в помещении. Поздние отражения — это плотные отражения высокого порядка, характеризующие реверберацию помещения. Время задержки начала этих двух типов отражений позволяет слушателю оценить общий размер и сложность формы и содержимого помещения. Чем больше помещение, тем больше время задержки отражений. Интенсивность ранних и поздних отражений определяет усиление (в децибелах) отражённых сигналов по сравнению с прямым сигналом. Эти значения интенсивности дают слушателю представление о звукопоглощающих свойствах поверхностей и предметов в помещении. Время затухания определяет, сколько времени требуется реверберации, чтобы экспоненциально затухнуть до состояния, когда она перестаёт быть слышимой («эффективный ноль»). Чем больше поверхности и чем ниже их звукопоглощающие свойства, тем больше время затухания.

Набор определённых здесь параметров может не охватывать все аспекты реверберации, предусмотренные некоторыми системами. Например, Ассоциация производителей MIDI (MMA) включает в себя группу особых интересов по интерактивному аудио (IASIG), в составе которой действует рабочая группа по 3D, определившая спецификацию уровня 2 (I3DL2). I3DL2 поддерживает фильтрацию реверберации и управление её плотностью. Эти свойства не включены в определение регулятора реверберации в JavaSound 1.0. В таком случае реализующая система должна либо расширить определённый регулятор реверберации, добавив дополнительные параметры, либо интерпретировать дополнительные возможности системы так, чтобы они соответствовали описанной здесь модели.

При реализации JavaSound на устройстве, совместимом с I3DL2:

  • Фильтрация отключена (ослабление высоких частот установлено на 0.0 дБ)
  • Параметры плотности установлены на середину диапазона между минимумом и максимумом

В следующей таблице показаны значения параметров, которые реализация может использовать для типичного набора настроек реверберации.

Типы реверберации и параметры: время затухания, интенсивность поздних отражений, задержка поздних отражений, интенсивность ранних отражений и задержка ранних отражений
Тип Время затухания (мс) Интенсивность поздних отражений (дБ) Задержка поздних отражений (мс) Интенсивность ранних отражений (дБ) Задержка ранних отражений (мс)
Пещера 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

Краткое описание конструкторов

ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
Модификатор Конструктор Описание
protected
Создаёт новый тип реверберации с указанными значениями параметров реверберации.

Краткое описание методов

Модификатор и тип Метод Описание
final boolean equals(Object obj)
Указывает, равен ли указанный объект этому типу реверберации; возвращает true, если объекты совпадают.
final int getDecayTime()
Возвращает время затухания — период, за который поздние отражения ослабевают до эффективного нуля.
final int getEarlyReflectionDelay()
Возвращает время задержки ранних отражений в микросекундах.
final float getEarlyReflectionIntensity()
Возвращает интенсивность ранних отражений в децибелах.
final int getLateReflectionDelay()
Возвращает время задержки поздних отражений в микросекундах.
final float getLateReflectionIntensity()
Возвращает интенсивность поздних отражений в децибелах.
String getName()
Возвращает имя этого типа реверберации.
final int hashCode()
Возвращает хеш-код этого типа реверберации.
final String toString()
Возвращает строковое представление типа реверберации, включая его имя и настройки параметров.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

ReverbType

protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
Создаёт новый тип реверберации с указанными значениями параметров реверберации.
Параметры:
name — имя нового типа реверберации или строка нулевой длины String
earlyReflectionDelay — время задержки ранних отражений нового типа в микросекундах
earlyReflectionIntensity — интенсивность ранних отражений нового типа в дБ
lateReflectionDelay — время задержки поздних отражений нового типа в микросекундах
lateReflectionIntensity — интенсивность поздних отражений нового типа в дБ
decayTime — время затухания нового типа в микросекундах

Подробное описание методов

getName

public String getName()
Возвращает имя этого типа реверберации.
Возвращает:
имя этого типа реверберации
Начиная с:
1.5

getEarlyReflectionDelay

public final int getEarlyReflectionDelay()
Возвращает время задержки ранних отражений в микросекундах. Это промежуток времени между моментом, когда слышен прямой сигнал, и моментом, когда слышны первые ранние отражения.
Возвращает:
время задержки ранних отражений для этого типа реверберации в микросекундах

getEarlyReflectionIntensity

public final float getEarlyReflectionIntensity()
Возвращает интенсивность ранних отражений в децибелах. Это ослабление амплитуды первых ранних отражений относительно прямого сигнала.
Возвращает:
интенсивность ранних отражений для этого типа реверберации в дБ

getLateReflectionDelay

public final int getLateReflectionDelay()
Возвращает время задержки поздних отражений в микросекундах. Это промежуток времени между моментом, когда слышны первые ранние отражения, и моментом, когда слышны первые поздние отражения.
Возвращает:
время задержки поздних отражений для этого типа реверберации в микросекундах

getLateReflectionIntensity

public final float getLateReflectionIntensity()
Возвращает интенсивность поздних отражений в децибелах. Это ослабление амплитуды первых поздних отражений относительно прямого сигнала.
Возвращает:
интенсивность поздних отражений для этого типа реверберации в дБ

getDecayTime

public final int getDecayTime()
Возвращает время затухания — период, за который поздние отражения ослабевают до эффективного нуля. Значение эффективного нуля зависит от реализации.
Возвращает:
время затухания поздних отражений в микросекундах

equals

public final boolean equals(Object obj)
Указывает, равен ли указанный объект этому типу реверберации; возвращает true, если объекты совпадают.
Переопределяет:
equals в классе Object
Параметры:
obj — объект-ссылка для сравнения
Возвращает:
true, если указанный объект равен этому типу реверберации; в противном случае — false
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Возвращает хеш-код этого типа реверберации.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого типа реверберации
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public final String toString()
Возвращает строковое представление типа реверберации, включая его имя и настройки параметров. Точное содержимое строки может различаться в разных реализациях Java Sound.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление типа реверберации

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API