Spec-Zone.ru › OpenJDK 25

Интерфейс Mixer

Все суперинтерфейсы:
AutoCloseable, Line
public interface Mixer extends Line
Микшер — это аудиоустройство с одной или несколькими линиями. Он не обязательно предназначен для микширования аудиосигналов. Микшер, который действительно микширует аудио, имеет несколько входных (источниковых) линий и как минимум одну выходную (целевую) линию. Первые часто являются экземплярами классов, реализующих SourceDataLine, а вторые — TargetDataLine. Объекты Port также являются либо источниковыми, либо целевыми линиями. Микшер может принимать на вход предварительно записанный звук с возможностью циклического воспроизведения, если некоторые его источниковые линии являются экземплярами объектов, реализующих интерфейс Clip.

С помощью методов интерфейса Line, который расширяет Mixer, микшер может предоставлять набор элементов управления, действующих на весь микшер. Например, микшер может иметь общий регулятор усиления. Эти общие элементы управления отличаются от элементов управления, принадлежащих каждой отдельной линии микшера.

Некоторые микшеры, особенно микшеры со встроенными возможностями цифрового микширования, могут предоставлять дополнительные возможности, реализуя интерфейс DataLine.

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

Начиная с:
1.3

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static class  Mixer.Info
Класс Mixer.Info представляет сведения об аудиомикшере, включая название, версию и производителя продукта, а также его текстовое описание.

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

Модификатор и тип Метод Описание
Line getLine(Line.Info info)
Получает доступную для использования линию, соответствующую описанию в указанном объекте Line.Info.
int getMaxLines(Line.Info info)
Получает приблизительное максимальное количество линий запрошенного типа, которые могут быть одновременно открыты в микшере.
Mixer.Info getMixerInfo()
Получает сведения об этом микшере, включая название, версию, производителя продукта и т. д.
Line.Info[] getSourceLineInfo()
Получает сведения о наборе источниковых линий, поддерживаемых этим микшером.
Line.Info[] getSourceLineInfo(Line.Info info)
Получает сведения об источниковых линиях определённого типа, поддерживаемых микшером.
Line[] getSourceLines()
Получает набор всех источниковых линий, открытых в данный момент для этого микшера.
Line.Info[] getTargetLineInfo()
Получает сведения о наборе целевых линий, поддерживаемых этим микшером.
Line.Info[] getTargetLineInfo(Line.Info info)
Получает сведения о целевых линиях определённого типа, поддерживаемых микшером.
Line[] getTargetLines()
Получает набор всех целевых линий, в данный момент открытых из этого микшера.
boolean isLineSupported(Line.Info info)
Указывает, поддерживает ли микшер линию (или линии), соответствующую указанному объекту Line.Info.
boolean isSynchronizationSupported(Line[] lines, boolean maintainSync)
Сообщает, поддерживает ли этот микшер синхронизацию указанного набора линий.
void synchronize(Line[] lines, boolean maintainSync)
Синхронизирует две или более линий.
void unsynchronize(Line[] lines)
Отменяет синхронизацию указанных линий.

Методы, объявленные в интерфейсе Line

addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener

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

getMixerInfo

Mixer.Info getMixerInfo()
Получает сведения об этом микшере, включая название, версию, производителя продукта и т. д.
Возвращает:
объект с информацией о микшере, описывающий этот микшер
См. также:
  • Mixer.Info

getSourceLineInfo

Line.Info[] getSourceLineInfo()
Получает сведения о наборе источниковых линий, поддерживаемых этим микшером. Некоторые источниковые линии могут быть доступны только тогда, когда этот микшер открыт.
Возвращает:
массив объектов Line.Info, представляющих источниковые линии этого микшера. Если источниковые линии не поддерживаются, возвращается массив длины 0.

getTargetLineInfo

Line.Info[] getTargetLineInfo()
Получает сведения о наборе целевых линий, поддерживаемых этим микшером. Некоторые целевые линии могут быть доступны только тогда, когда этот микшер открыт.
Возвращает:
массив объектов Line.Info, представляющих целевые линии этого микшера. Если целевые линии не поддерживаются, возвращается массив длины 0.

getSourceLineInfo

Line.Info[] getSourceLineInfo(Line.Info info)
Получает сведения об источниковых линиях определённого типа, поддерживаемых микшером. Некоторые источниковые линии могут быть доступны только тогда, когда этот микшер открыт.
Параметры:
info — объект Line.Info, описывающий линии, сведения о которых запрашиваются
Возвращает:
массив объектов Line.Info, описывающих источниковые линии запрошенного типа. Если соответствующие источниковые линии не поддерживаются, возвращается массив длины 0.

getTargetLineInfo

Line.Info[] getTargetLineInfo(Line.Info info)
Получает сведения о целевых линиях определённого типа, поддерживаемых микшером. Некоторые целевые линии могут быть доступны только тогда, когда этот микшер открыт.
Параметры:
info — объект Line.Info, описывающий линии, сведения о которых запрашиваются
Возвращает:
массив объектов Line.Info, описывающих целевые линии запрошенного типа. Если соответствующие целевые линии не поддерживаются, возвращается массив длины 0.

isLineSupported

boolean isLineSupported(Line.Info info)
Указывает, поддерживает ли микшер линию (или линии), соответствующую указанному объекту Line.Info. Некоторые линии могут поддерживаться только тогда, когда этот микшер открыт.
Параметры:
info — описывает линию, поддержку которой требуется проверить
Возвращает:
true, если поддерживается хотя бы одна соответствующая линия, иначе false

getLine

Line getLine(Line.Info info) throws LineUnavailableException
Получает доступную для использования линию, соответствующую описанию в указанном объекте Line.Info.

Если запрошена DataLine, а info является экземпляром DataLine.Info, задающим по крайней мере один полностью определённый аудиоформат, последний из них будет использоваться в качестве формата по умолчанию для возвращаемой DataLine.

Параметры:
info — описывает требуемую линию
Возвращает:
доступную для использования линию, соответствующую описанию в указанном объекте Line.Info
Исключения:
LineUnavailableException — если соответствующая линия недоступна из-за ограничений ресурсов
IllegalArgumentException — если этот микшер не поддерживает линии, соответствующие описанию

getMaxLines

int getMaxLines(Line.Info info)
Получает приблизительное максимальное количество линий запрошенного типа, которые могут быть одновременно открыты в микшере.

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

Запрошенный тип — это любая линия, соответствующая описанию в предоставленном объекте Line.Info. Например, если объект info представляет порт динамика, а микшер поддерживает ровно один порт динамика, этот метод должен возвращать 1. Если объект info представляет линию исходных данных, а микшер поддерживает одновременное использование 32 линий исходных данных, возвращаемое значение должно быть 32. Если ограничение отсутствует, функция возвращает AudioSystem.NOT_SPECIFIED.

Параметры:
info — объект Line.Info, описывающий линию, для которой запрашивается количество поддерживаемых экземпляров
Возвращает:
максимальное количество поддерживаемых соответствующих линий или AudioSystem.NOT_SPECIFIED

getSourceLines

Line[] getSourceLines()
Получает набор всех источниковых линий, открытых в данный момент для этого микшера.
Возвращает:
источниковые линии, открытые в данный момент для микшера. Если для этого микшера сейчас не открыто ни одной источниковой линии, возвращается массив длины 0.

getTargetLines

Line[] getTargetLines()
Получает набор всех целевых линий, в данный момент открытых из этого микшера.
Возвращает:
целевые линии, в данный момент открытые из микшера. Если из этого микшера сейчас не открыто ни одной целевой линии, возвращается массив длины 0.

synchronize

void synchronize(Line[] lines, boolean maintainSync)
Синхронизирует две или более линий. Любая последующая команда запуска или остановки воспроизведения либо захвата аудио для одной из этих линий окажет такое же действие на остальные линии группы, чтобы они одновременно начинали или прекращали воспроизведение либо захват данных.
Параметры:
lines — линии, которые необходимо синхронизировать
maintainSync — true, если синхронизация должна точно поддерживаться (то есть иметь точность до отдельного сэмпла) на протяжении всей работы линий, или false, если точная синхронизация требуется только во время запуска и остановки
Исключения:
IllegalArgumentException — если линии невозможно синхронизировать. Это может произойти, если линии относятся к разным типам или имеют разные форматы, для которых этот микшер не поддерживает синхронизацию, либо если не все указанные линии принадлежат этому микшеру.

unsynchronize

void unsynchronize(Line[] lines)
Отменяет синхронизацию указанных линий. Массив должен совпадать с массивом, для которого синхронизация уже была установлена; в противном случае может быть выброшено исключение. Однако можно указать null, и тогда синхронизация будет отменена для всех синхронизированных линий этого микшера.
Параметры:
lines — синхронизированные линии, для которых необходимо отменить синхронизацию, или null, чтобы отменить синхронизацию всех синхронизированных линий этого микшера
Исключения:
IllegalArgumentException — если синхронизацию линий невозможно отменить. Это может произойти, если указанный аргумент не совпадает в точности с набором линий, для которого была установлена синхронизация.

isSynchronizationSupported

boolean isSynchronizationSupported(Line[] lines, boolean maintainSync)
Сообщает, поддерживает ли этот микшер синхронизацию указанного набора линий.
Параметры:
lines — набор линий, для которого проверяется поддержка синхронизации
maintainSync — true, если синхронизация должна точно поддерживаться (то есть иметь точность до отдельного сэмпла) на протяжении всей работы линий, или false, если точная синхронизация требуется только во время запуска и остановки
Возвращает:
true, если линии можно синхронизировать, иначе false

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/sampled/Mixer.html

Spec-Zone.ru

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