Интерфейс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addLineListener |
Добавляет прослушиватель к этой линии. |
void |
close() |
Закрывает линию, указывая, что все используемые ею системные ресурсы можно освободить. |
Control |
getControl |
Получает элемент управления указанного типа, если он имеется. |
Control[] |
getControls() |
Получает набор элементов управления, связанных с этой линией. |
Line.Info |
getLineInfo() |
Получает объект Line.Info, описывающий эту линию. |
boolean |
isControlSupported |
Показывает, поддерживает ли линия элемент управления указанного типа. |
boolean |
isOpen() |
Показывает, открыта ли линия, то есть зарезервировала ли она системные ресурсы и готова ли к работе, даже если в данный момент звук не воспроизводится и не захватывается. |
void |
open() |
Открывает линию, указывая, что она должна получить необходимые системные ресурсы и перейти в рабочее состояние. |
void |
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. Например, если объект сведений представляет порт динамика, а микшер поддерживает ровно один порт динамика, этот метод должен возвращать 1. Если объект сведений представляет линию исходных данных, а микшер поддерживает одновременное использование 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.