Интерфейс 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. |
int |
getMaxLines |
Получает приблизительное максимальное количество линий запрошенного типа, которые могут быть одновременно открыты в микшере. |
Mixer.Info |
getMixerInfo() |
Получает сведения об этом микшере, включая название, версию, производителя продукта и т. д. |
Line.Info[] |
getSourceLineInfo() |
Получает сведения о наборе источниковых линий, поддерживаемых этим микшером. |
Line.Info[] |
getSourceLineInfo |
Получает сведения об источниковых линиях определённого типа, поддерживаемых микшером. |
Line[] |
getSourceLines() |
Получает набор всех источниковых линий, открытых в данный момент для этого микшера. |
Line.Info[] |
getTargetLineInfo() |
Получает сведения о наборе целевых линий, поддерживаемых этим микшером. |
Line.Info[] |
getTargetLineInfo |
Получает сведения о целевых линиях определённого типа, поддерживаемых микшером. |
Line[] |
getTargetLines() |
Получает набор всех целевых линий, в данный момент открытых из этого микшера. |
boolean |
isLineSupported |
Указывает, поддерживает ли микшер линию (или линии), соответствующую указанному объекту Line.Info. |
boolean |
isSynchronizationSupported |
Сообщает, поддерживает ли этот микшер синхронизацию указанного набора линий. |
void |
synchronize |
Синхронизирует две или более линий. |
void |
unsynchronize |
Отменяет синхронизацию указанных линий. |
Методы, объявленные в интерфейсе Line
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener
Подробное описание методов
getMixerInfo
Mixer.Info getMixerInfo()
- Возвращает:
- объект с информацией о микшере, описывающий этот микшер
- См. также:
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
© 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