Интерфейс 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 |
Освобождает синхронизацию для указанных линий. |
Методы, объявленные в интерфейсе javax.sound.sampled.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- если этот микшер не поддерживает линии, соответствующие описанию -
SecurityException- если соответствующая линия недоступна из-за ограничений безопасности
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.
- Исключения:
-
SecurityException- если соответствующие линии недоступны из-за ограничений безопасности
getTargetLines
Line[] getTargetLines()
- Возвращает:
- текущие выходные линии, открытые от микшера. Если выходные линии не открыты для этого микшера, возвращается массив длиной 0.
- Исключения:
-
SecurityException- если соответствующие линии недоступны из-за ограничений безопасности
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, 2021, 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/17/docs/api/java.desktop/javax/sound/sampled/Mixer.html