Интерфейс Mixer
- Все суперинтерфейсы:
-
AutoCloseable,Line
public interface Mixer extends Line
Микшер — это аудиоустройство с одной или несколькими линиями. Оно необязательно предназначено для микширования аудиосигналов. Микшер, который фактически микширует аудио, имеет несколько входных (источниковых) линий и по крайней мере одну выходную (целевую) линию. Первые часто являются экземплярами классов, которые реализуют SourceDataLine, а вторые — TargetDataLine. Объекты Port тоже являются либо входными, либо выходными линиями. Микшер может принимать предварительно записанный, циклический звук в качестве входного, имея некоторые из своих входных линий в качестве экземпляров объектов, которые реализуют интерфейс Clip.
Через методы интерфейса Line, который Mixer расширяет, микшер может предоставить набор настроек, которые являются глобальными для микшера. Например, микшер может иметь общую регулировку усиления. Эти глобальные настройки отличаются от настроек, принадлежащих каждой из отдельных линий микшера.
Некоторые микшеры, особенно те, которые имеют встроенные цифровые возможности микширования, могут предоставлять дополнительные возможности, реализуя интерфейс DataLine.
Микшер может поддерживать синхронизацию своих линий. Когда одна линия в синхронизированной группе запускается или останавливается, другие линии в группе автоматически запускаются или останавливаются одновременно с явно затронутой.
- С:
- 1.3
Вложенные классы
| Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static class | Mixer.Info | Класс |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Line | getLine(Line.Info 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) | Указывает, поддерживает ли микшер линию (или линии), которые соответствуют указанному объекту |
boolean | isSynchronizationSupported(Line[] lines,
boolean maintainSync) | Сообщает, поддерживает ли этот микшер синхронизацию указанного набора линий. |
void | synchronize(Line[] lines,
boolean maintainSync) | Синхронизирует две или более линии. |
void | unsynchronize(Line[] lines) | Освобождает синхронизацию для указанных линий. |
Методы, объявленные в интерфейсе javax.sound.sampled.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- если этот миксер не поддерживает никаких линий, соответствующих описанию -
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, 2020, 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/11/docs/api/java.desktop/javax/sound/sampled/Mixer.html