Spec-Zone.ru › OpenJDK 24

Интерфейс 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, описывающий этот микшер
См. также:
  • 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 - если этот микшер не поддерживает линий, соответствующих описанию

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.

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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/sampled/Mixer.html

Spec-Zone.ru

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