Spec-Zone.ru › OpenJDK 21

Интерфейс 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 info)
Получает линию, доступную для использования и соответствующую описанию в указанном объекте Line.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)
Указывает, поддерживает ли микшер линию (или линии), соответствующую указанному объекту Line.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, 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API