Интерфейс 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, 2023, 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/21/docs/api/java.desktop/javax/sound/sampled/Mixer.html