Spec-Zone.ru › OpenJDK 27

Класс AudioSystem

java.lang.Object
javax.sound.sampled.AudioSystem
public class AudioSystem extends Object
Класс AudioSystem служит точкой входа к ресурсам системы работы с дискретным аудио. Этот класс позволяет запрашивать сведения о микшерах, установленных в системе, и получать к ним доступ. AudioSystem включает ряд методов для преобразования аудиоданных между различными форматами, а также для преобразования аудиофайлов в потоки и наоборот. Кроме того, он предоставляет метод для получения Line непосредственно из AudioSystem без явной работы с микшерами.

Для указания микшера по умолчанию для конкретных типов линий можно использовать свойства. Учитываются как системные свойства, так и файл свойств. Файл свойств "sound.properties" считывается из зависящего от реализации расположения (обычно это каталог conf в каталоге установки Java). Необязательное системное свойство "javax.sound.config.file" можно использовать для указания файла свойств, который будет считан в качестве начальной конфигурации. Если свойство задано и как системное свойство, и в файле свойств, приоритет имеет системное свойство. Если ничего не задано, среди доступных устройств выбирается подходящее значение по умолчанию. Синтаксис файла свойств описан в Properties.load. В следующей таблице перечислены доступные ключи свойств и методы, которые их учитывают:

Ключи свойств аудиосистемы
Ключ свойства Интерфейс Затрагиваемые методы
javax.sound.sampled.Clip Clip getLine(Line.Info), getClip()
javax.sound.sampled.Port Port getLine(Line.Info)
javax.sound.sampled.SourceDataLine SourceDataLine getLine(Line.Info), getSourceDataLine(AudioFormat)
javax.sound.sampled.TargetDataLine TargetDataLine getLine(Line.Info), getTargetDataLine(AudioFormat)
Значение свойства состоит из имени класса поставщика и имени микшера, разделённых символом решётки ("#"). Имя класса поставщика — это полное имя конкретного класса mixer provider. Имя микшера сопоставляется со значениями String, возвращаемыми методом getName класса Mixer.Info. Можно не указывать имя класса или имя микшера. Если указано только имя класса, завершающий символ решётки можно опустить.

Если указан класс поставщика и его удалось получить среди установленных поставщиков, список объектов Mixer.Info извлекается из поставщика. В противном случае, а также если среди этих микшеров не найдено подходящего совпадения, список извлекается из getMixerInfo() и содержит все доступные объекты Mixer.Info.

Если указано имя микшера, выполняется поиск в полученном списке объектов Mixer.Info: будет возвращён первый микшер с совпадающим именем, чей объект Mixer предоставляет соответствующий интерфейс линии. Если подходящий объект Mixer.Info не найден или имя микшера не указано, будет возвращён первый микшер из полученного списка, предоставляющий соответствующий интерфейс линии.

Например, свойство javax.sound.sampled.Clip со значением "com.sun.media.sound.MixerProvider#SunClip" приведёт к следующим результатам при вызове getLine с запросом экземпляра Clip: если класс com.sun.media.sound.MixerProvider присутствует в списке установленных поставщиков микшеров, будет возвращён первый Clip из первого микшера с именем "SunClip". Если он не найден, будет возвращён первый Clip из первого микшера указанного поставщика независимо от имени. Если такого нет, будет возвращён первый Clip из первого Mixer с именем "SunClip" в списке всех микшеров (возвращённом методом getMixerInfo) либо, если он не найден, первый Clip из первого Mixer, найденного в списке всех микшеров. Если и это не удастся, будет выброшено исключение IllegalArgumentException.

Начиная с версии:
1.3
См. также:
  • AudioFormat
  • AudioInputStream
  • Mixer
  • Line
  • Line.Info

Краткое описание полей

Модификатор и тип Поле Описание
static final int NOT_SPECIFIED
Целое число, обозначающее неизвестное числовое значение.

Краткое описание методов

Модификатор и тип Метод Описание
static AudioFileFormat getAudioFileFormat(File file)
Получает формат аудиофайла указанного File.
static AudioFileFormat getAudioFileFormat(InputStream stream)
Получает формат аудиофайла из предоставленного входного потока.
static AudioFileFormat getAudioFileFormat(URL url)
Получает формат аудиофайла указанного URL.
static AudioFileFormat.Type[] getAudioFileTypes()
Получает типы файлов, для которых система предоставляет поддержку записи файлов.
static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream)
Получает типы файлов, в которые система может записать указанный входной аудиопоток.
static AudioInputStream getAudioInputStream(File file)
Получает входной аудиопоток из предоставленного File.
static AudioInputStream getAudioInputStream(InputStream stream)
Получает входной аудиопоток из предоставленного входного потока.
static AudioInputStream getAudioInputStream(URL url)
Получает входной аудиопоток из предоставленного URL.
static AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream)
Получает входной аудиопоток с указанной кодировкой, преобразуя предоставленный входной аудиопоток.
static AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
Получает входной аудиопоток указанного формата, преобразуя предоставленный входной аудиопоток.
static Clip getClip()
Получает клип, который можно использовать для воспроизведения аудиофайла или аудиопотока.
static Clip getClip(Mixer.Info mixerInfo)
Получает клип из указанного микшера, который можно использовать для воспроизведения аудиофайла или аудиопотока.
static Line getLine(Line.Info info)
Получает линию, соответствующую описанию в указанном объекте Line.Info.
static Mixer getMixer(Mixer.Info info)
Получает запрошенный аудиомикшер.
static Mixer.Info[] getMixerInfo()
Получает массив объектов сведений о микшерах, представляющий набор аудиомикшеров, установленных в данный момент в системе.
static SourceDataLine getSourceDataLine(AudioFormat format)
Получает линию исходных данных, которую можно использовать для воспроизведения аудиоданных в формате, указанном объектом AudioFormat.
static SourceDataLine getSourceDataLine(AudioFormat format, Mixer.Info mixerinfo)
Получает линию исходных данных, которую можно использовать для воспроизведения аудиоданных в формате, указанном объектом AudioFormat и предоставленном микшером, указанным объектом Mixer.Info.
static Line.Info[] getSourceLineInfo(Line.Info info)
Получает сведения обо всех линиях источника указанного типа, поддерживаемых установленными микшерами.
static TargetDataLine getTargetDataLine(AudioFormat format)
Получает линию целевых данных, которую можно использовать для записи аудиоданных в формате, указанном объектом AudioFormat.
static TargetDataLine getTargetDataLine(AudioFormat format, Mixer.Info mixerinfo)
Получает линию целевых данных, которую можно использовать для записи аудиоданных в формате, указанном объектом AudioFormat и предоставленном микшером, указанным объектом Mixer.Info.
static AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
Получает кодировки, которые система может получить из входного аудиопотока указанного формата с помощью набора установленных преобразователей форматов.
static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding sourceEncoding)
Получает кодировки, которые система может получить из входного аудиопотока с указанной кодировкой с помощью набора установленных преобразователей форматов.
static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
Получает форматы с определённой кодировкой, которые система может получить из потока указанного формата с помощью набора установленных преобразователей форматов.
static Line.Info[] getTargetLineInfo(Line.Info info)
Получает сведения обо всех линиях приёмника указанного типа, поддерживаемых установленными микшерами.
static boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
Показывает, можно ли получить входной аудиопоток с указанной кодировкой из входного аудиопотока заданного формата.
static boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
Показывает, можно ли получить входной аудиопоток указанного формата из входного аудиопотока другого заданного формата.
static boolean isFileTypeSupported(AudioFileFormat.Type fileType)
Показывает, предоставляет ли система поддержку записи файлов указанного типа.
static boolean isFileTypeSupported(AudioFileFormat.Type fileType, AudioInputStream stream)
Показывает, можно ли записать аудиофайл указанного типа из данного входного аудиопотока.
static boolean isLineSupported(Line.Info info)
Показывает, поддерживает ли система какие-либо линии, соответствующие указанному объекту Line.Info.
static int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out)
Записывает в предоставленный внешний файл поток байтов, представляющий аудиофайл указанного типа.
static int write(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out)
Записывает в предоставленный выходной поток поток байтов, представляющий аудиофайл указанного типа.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, «равен ли» этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.

Подробное описание полей

NOT_SPECIFIED

public static final int NOT_SPECIFIED
Целое число, обозначающее неизвестное числовое значение. Это значение подходит только для величин со знаком, которые обычно не принимают отрицательных значений. Примеры: размеры файлов, кадров и буферов, а также частоты дискретизации. Некоторые конструкторы Java Sound принимают значение NOT_SPECIFIED для таких параметров. Как указано в документации, другие методы также могут принимать или возвращать это значение.
См. также:
  • Значения констант полей

Подробное описание методов

getMixerInfo

public static Mixer.Info[] getMixerInfo()
Получает массив объектов с информацией о микшерах, представляющий набор аудиомикшеров, установленных в данный момент в системе.
Возвращает:
массив информационных объектов для установленных в данный момент микшеров. Если в системе нет доступных микшеров, возвращается массив длины 0.
См. также:
  • getMixer(Mixer.Info)

getMixer

public static Mixer getMixer(Mixer.Info info)
Получает запрошенный аудиомикшер.
Параметры:
info — объект Mixer.Info, представляющий нужный микшер, или null для системного микшера по умолчанию
Возвращает:
запрошенный микшер
Вызывает исключение:
IllegalArgumentException — если информационный объект не представляет микшер, установленный в системе
См. также:
  • getMixerInfo()

getSourceLineInfo

public static Line.Info[] getSourceLineInfo(Line.Info info)
Получает сведения обо всех исходных линиях определённого типа, поддерживаемых установленными микшерами.
Параметры:
info — объект Line.Info, указывающий тип линий, сведения о которых запрашиваются
Возвращает:
массив объектов Line.Info с описанием исходных линий, соответствующих запрошенному типу. Если подходящие исходные линии не поддерживаются, возвращается массив длины 0.
См. также:
  • Mixer.getSourceLineInfo(Line.Info)

getTargetLineInfo

public static Line.Info[] getTargetLineInfo(Line.Info info)
Получает сведения обо всех целевых линиях определённого типа, поддерживаемых установленными микшерами.
Параметры:
info — объект Line.Info, указывающий тип линий, сведения о которых запрашиваются
Возвращает:
массив объектов Line.Info с описанием целевых линий, соответствующих запрошенному типу. Если подходящие целевые линии не поддерживаются, возвращается массив длины 0.
См. также:
  • Mixer.getTargetLineInfo(Line.Info)

isLineSupported

public static boolean isLineSupported(Line.Info info)
Указывает, поддерживает ли система какие-либо линии, соответствующие указанному объекту Line.Info. Линия считается поддерживаемой, если её поддерживает хотя бы один установленный микшер.
Параметры:
info — объект Line.Info с описанием линии, поддержку которой требуется проверить
Возвращает:
true, если поддерживается хотя бы одна подходящая линия, иначе — false
См. также:
  • Mixer.isLineSupported(Line.Info)

getLine

public static Line getLine(Line.Info info) throws LineUnavailableException
Получает линию, соответствующую описанию в указанном объекте Line.Info.

Если запрошен DataLine, а info является экземпляром DataLine.Info, в котором указано как минимум один полностью определённый аудиоформат, последний из них будет использован в качестве формата по умолчанию для возвращённого DataLine.

Если системные свойства javax.sound.sampled.Clip, javax.sound.sampled.Port, javax.sound.sampled.SourceDataLine и javax.sound.sampled.TargetDataLine заданы либо определены в файле "sound.properties", они используются для получения линий по умолчанию. Подробности см. в разделе class description. Если соответствующее свойство не задано или указанный в свойстве микшер не установлен либо не предоставляет запрошенную линию, все установленные микшеры проверяются на наличие линии запрошенного типа. Будет возвращена линия от первого микшера, предоставляющего линию запрошенного типа.

Параметры:
info — объект Line.Info с описанием нужного типа линии
Возвращает:
линия запрошенного типа
Вызывает исключение:
LineUnavailableException — если подходящая линия недоступна из-за ограничений ресурсов
IllegalArgumentException — если ни один из установленных микшеров не поддерживает хотя бы одну линию, соответствующую указанному объекту Line.Info

getClip

public static Clip getClip() throws LineUnavailableException
Получает клип, который можно использовать для воспроизведения аудиофайла или аудиопотока. Возвращённый клип будет предоставлен системным микшером по умолчанию или, если это невозможно, любым другим установленным в системе микшером, поддерживающим объект Clip.

Возвращённый клип необходимо открыть с помощью метода open(AudioFormat) или open(AudioInputStream).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Если системное свойство javax.sound.sampled.Clip задано либо определено в файле "sound.properties", оно используется для получения клипа по умолчанию. Подробности см. в разделе class description.

Возвращает:
нужный объект клипа
Вызывает исключение:
LineUnavailableException — если объект клипа недоступен из-за ограничений ресурсов
IllegalArgumentException — если ни один из установленных микшеров не поддерживает хотя бы один экземпляр клипа
Начиная с версии:
1.5
См. также:
  • getClip(Mixer.Info)

getClip

public static Clip getClip(Mixer.Info mixerInfo) throws LineUnavailableException
Получает клип от указанного микшера, который можно использовать для воспроизведения аудиофайла или аудиопотока.

Возвращённый клип необходимо открыть с помощью метода open(AudioFormat) или open(AudioInputStream).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Параметры:
mixerInfo — объект Mixer.Info, представляющий нужный микшер, или null для системного микшера по умолчанию
Возвращает:
объект клипа от указанного микшера
Вызывает исключение:
LineUnavailableException — если клип недоступен от этого микшера из-за ограничений ресурсов
IllegalArgumentException — если указанный микшер не поддерживает хотя бы один клип
Начиная с версии:
1.5
См. также:
  • getClip()

getSourceDataLine

public static SourceDataLine getSourceDataLine(AudioFormat format) throws LineUnavailableException
Получает линию исходных данных, которую можно использовать для воспроизведения аудиоданных в формате, указанном объектом AudioFormat. Возвращённая линия будет предоставлена системным микшером по умолчанию или, если это невозможно, любым другим установленным в системе микшером, поддерживающим соответствующий объект SourceDataLine.

Возвращённую линию следует открыть с помощью метода open(AudioFormat) или open(AudioFormat, int).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Аудиоформат по умолчанию возвращённого SourceDataLine будет инициализирован значением format.

Если системное свойство javax.sound.sampled.SourceDataLine задано либо определено в файле "sound.properties", оно используется для получения линии исходных данных по умолчанию. Подробности см. в разделе class description.

Параметры:
format — объект AudioFormat, указывающий поддерживаемый аудиоформат возвращаемой линии, или null для любого аудиоформата
Возвращает:
нужный объект SourceDataLine
Вызывает исключение:
LineUnavailableException — если подходящая линия исходных данных недоступна из-за ограничений ресурсов
IllegalArgumentException — если ни один из установленных микшеров не поддерживает хотя бы одну линию исходных данных с указанным аудиоформатом
Начиная с версии:
1.5
См. также:
  • getSourceDataLine(AudioFormat, Mixer.Info)

getSourceDataLine

public static SourceDataLine getSourceDataLine(AudioFormat format, Mixer.Info mixerinfo) throws LineUnavailableException
Получает линию исходных данных, которую можно использовать для воспроизведения аудиоданных в формате, указанном объектом AudioFormat и предоставляемую микшером, указанным объектом Mixer.Info.

Возвращённую линию следует открыть с помощью метода open(AudioFormat) или open(AudioFormat, int).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Аудиоформат по умолчанию возвращённого SourceDataLine будет инициализирован значением format.

Параметры:
format — объект AudioFormat, указывающий поддерживаемый аудиоформат возвращаемой линии, или null для любого аудиоформата
mixerinfo — объект Mixer.Info, представляющий нужный микшер, или null для системного микшера по умолчанию
Возвращает:
нужный объект SourceDataLine
Вызывает исключение:
LineUnavailableException — если подходящая линия исходных данных недоступна от указанного микшера из-за ограничений ресурсов
IllegalArgumentException — если указанный микшер не поддерживает хотя бы одну линию исходных данных с указанным аудиоформатом
Начиная с версии:
1.5
См. также:
  • getSourceDataLine(AudioFormat)

getTargetDataLine

public static TargetDataLine getTargetDataLine(AudioFormat format) throws LineUnavailableException
Получает линию целевых данных, которую можно использовать для записи аудиоданных в формате, указанном объектом AudioFormat. Возвращённая линия будет предоставлена системным микшером по умолчанию или, если это невозможно, любым другим установленным в системе микшером, поддерживающим соответствующий объект TargetDataLine.

Возвращённую линию следует открыть с помощью метода open(AudioFormat) или open(AudioFormat, int).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Аудиоформат по умолчанию возвращённого TargetDataLine будет инициализирован значением format.

Если системное свойство javax.sound.sampled.TargetDataLine задано либо определено в файле "sound.properties", оно используется для получения линии целевых данных по умолчанию. Подробности см. в разделе class description.

Параметры:
format — объект AudioFormat, указывающий поддерживаемый аудиоформат возвращаемой линии, или null для любого аудиоформата
Возвращает:
нужный объект TargetDataLine
Вызывает исключение:
LineUnavailableException — если подходящая линия целевых данных недоступна из-за ограничений ресурсов
IllegalArgumentException — если ни один из установленных микшеров не поддерживает хотя бы одну линию целевых данных с указанным аудиоформатом
Начиная с версии:
1.5
См. также:
  • getTargetDataLine(AudioFormat, Mixer.Info)

getTargetDataLine

public static TargetDataLine getTargetDataLine(AudioFormat format, Mixer.Info mixerinfo) throws LineUnavailableException
Получает линию целевых данных, которую можно использовать для записи аудиоданных в формате, указанном объектом AudioFormat и предоставляемую микшером, указанным объектом Mixer.Info.

Возвращённую линию следует открыть с помощью метода open(AudioFormat) или open(AudioFormat, int).

Это высокоуровневый метод, который внутри использует getMixer и getLine.

Аудиоформат по умолчанию возвращённого TargetDataLine будет инициализирован значением format.

Параметры:
format — объект AudioFormat, указывающий поддерживаемый аудиоформат возвращаемой линии, или null для любого аудиоформата
mixerinfo — объект Mixer.Info, представляющий нужный микшер, или null для системного микшера по умолчанию
Возвращает:
нужный объект TargetDataLine
Вызывает исключение:
LineUnavailableException — если подходящая линия целевых данных недоступна от указанного микшера из-за ограничений ресурсов
IllegalArgumentException — если указанный микшер не поддерживает хотя бы одну линию целевых данных с указанным аудиоформатом
Начиная с версии:
1.5
См. также:
  • getTargetDataLine(AudioFormat)

getTargetEncodings

public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding sourceEncoding)
Получает кодировки, которые система может получить из входного аудиопотока с указанной кодировкой с помощью набора установленных преобразователей форматов.
Параметры:
sourceEncoding — кодировка, для которой проверяется поддержка преобразования
Возвращает:
массив кодировок. Если sourceEncoding не поддерживается, возвращается массив длины 0. В противном случае длина массива будет не менее 1; он будет содержать sourceEncoding (без преобразования).
Вызывает исключение:
NullPointerException — если sourceEncoding равен null

getTargetEncodings

public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
Получает кодировки, которые система может получить из входного аудиопотока с указанным форматом с помощью набора установленных преобразователей форматов.
Параметры:
sourceFormat — аудиоформат, для которого проверяется возможность преобразования
Возвращает:
массив кодировок. Если sourceFormat не поддерживается, возвращается массив длины 0. В противном случае длина массива будет не менее 1; он будет содержать кодировку sourceFormat (без преобразования).
Вызывает исключение:
NullPointerException — если sourceFormat равен null

isConversionSupported

public static boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
Указывает, можно ли получить входной аудиопоток с указанной кодировкой из входного аудиопотока, имеющего указанный формат.
Параметры:
targetEncoding — нужная кодировка после преобразования
sourceFormat — аудиоформат до преобразования
Возвращает:
true, если преобразование поддерживается, иначе — false
Вызывает исключение:
NullPointerException — если targetEncoding или sourceFormat равны null

getAudioInputStream

public static AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream sourceStream)
Получает входной аудиопоток с указанной кодировкой, преобразуя предоставленный входной аудиопоток.
Параметры:
targetEncoding — нужная кодировка после преобразования
sourceStream — поток для преобразования
Возвращает:
входной аудиопоток с указанной кодировкой
Вызывает исключение:
IllegalArgumentException — если преобразование не поддерживается
NullPointerException — если targetEncoding или sourceStream равны null
См. также:
  • getTargetEncodings(AudioFormat.Encoding)
  • getTargetEncodings(AudioFormat)
  • isConversionSupported(AudioFormat.Encoding, AudioFormat)
  • getAudioInputStream(AudioFormat, AudioInputStream)

getTargetFormats

public static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
Получает форматы с определённой кодировкой, которые система может получить из потока указанного формата с помощью набора установленных преобразователей форматов.
Параметры:
targetEncoding — нужная кодировка после преобразования
sourceFormat — аудиоформат до преобразования
Возвращает:
массив форматов. Если форматы с указанной кодировкой не поддерживаются, возвращается массив длины 0.
Вызывает исключение:
NullPointerException — если targetEncoding или sourceFormat равны null

isConversionSupported

public static boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
Указывает, можно ли получить входной аудиопоток указанного формата из входного аудиопотока другого указанного формата.
Параметры:
targetFormat — нужный аудиоформат после преобразования
sourceFormat — аудиоформат до преобразования
Возвращает:
true, если преобразование поддерживается, иначе — false
Вызывает исключение:
NullPointerException — если targetFormat или sourceFormat равны null

getAudioInputStream

public static AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
Получает входной аудиопоток указанного формата, преобразуя предоставленный входной аудиопоток.
Параметры:
targetFormat — нужный аудиоформат после преобразования
sourceStream — поток для преобразования
Возвращает:
входной аудиопоток указанного формата
Вызывает исключение:
IllegalArgumentException — если преобразование не поддерживается
NullPointerException — если targetFormat или sourceStream равны null
См. также:
  • getTargetEncodings(AudioFormat)
  • getTargetFormats(AudioFormat.Encoding, AudioFormat)
  • isConversionSupported(AudioFormat, AudioFormat)
  • getAudioInputStream(AudioFormat.Encoding, AudioInputStream)

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(InputStream stream) throws UnsupportedAudioFileException, IOException
Получает формат аудиофайла из предоставленного входного потока. Поток должен указывать на корректные данные аудиофайла. Реализация этого метода может потребовать проверки потока несколькими анализаторами, чтобы определить, поддерживают ли они его. Эти анализаторы должны уметь устанавливать метку в потоке, считывать достаточно данных для определения поддержки потока и возвращать указатель чтения потока в исходное положение. Если входной поток не поддерживает эти операции, выполнение метода может завершиться исключением IOException.
Параметры:
stream — входной поток, из которого следует извлечь сведения о формате файла
Возвращает:
объект AudioFileFormat с описанием формата аудиофайла в потоке
Вызывает исключение:
UnsupportedAudioFileException — если поток не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если stream равен null
См. также:
  • InputStream.markSupported()
  • InputStream.mark(int)

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(URL url) throws UnsupportedAudioFileException, IOException
Получает формат аудиофайла по указанному URL. URL должен указывать на корректные данные аудиофайла.
Параметры:
url — URL, из которого следует извлечь сведения о формате файла
Возвращает:
объект AudioFileFormat с описанием формата аудиофайла
Вызывает исключение:
UnsupportedAudioFileException — если URL не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если url равен null

getAudioFileFormat

public static AudioFileFormat getAudioFileFormat(File file) throws UnsupportedAudioFileException, IOException
Получает формат аудиофайла по указанному File. File должен указывать на корректные данные аудиофайла.
Параметры:
file — File, из которого следует извлечь сведения о формате файла
Возвращает:
объект AudioFileFormat с описанием формата аудиофайла
Вызывает исключение:
UnsupportedAudioFileException — если File не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если file равен null

getAudioInputStream

public static AudioInputStream getAudioInputStream(InputStream stream) throws UnsupportedAudioFileException, IOException
Получает входной аудиопоток из предоставленного входного потока. Поток должен указывать на корректные данные аудиофайла. Реализация этого метода может потребовать проверки потока несколькими анализаторами, чтобы определить, поддерживают ли они его. Эти анализаторы должны уметь устанавливать метку в потоке, считывать достаточно данных для определения поддержки потока и возвращать указатель чтения потока в исходное положение. Если входной поток не поддерживает эти операции, выполнение метода может завершиться исключением IOException.
Параметры:
stream — входной поток, на основе которого следует создать AudioInputStream
Возвращает:
объект AudioInputStream, созданный на основе данных аудиофайла, содержащихся во входном потоке
Вызывает исключение:
UnsupportedAudioFileException — если поток не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если stream равен null
См. также:
  • InputStream.markSupported()
  • InputStream.mark(int)

getAudioInputStream

public static AudioInputStream getAudioInputStream(URL url) throws UnsupportedAudioFileException, IOException
Получает входной аудиопоток из предоставленного URL. URL должен указывать на корректные данные аудиофайла.
Параметры:
url — URL, для которого следует создать AudioInputStream
Возвращает:
объект AudioInputStream, созданный на основе данных аудиофайла, на которые указывает URL
Вызывает исключение:
UnsupportedAudioFileException — если URL не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если url равен null

getAudioInputStream

public static AudioInputStream getAudioInputStream(File file) throws UnsupportedAudioFileException, IOException
Получает входной аудиопоток из предоставленного File. File должен указывать на корректные данные аудиофайла.
Параметры:
file — File, для которого следует создать AudioInputStream
Возвращает:
объект AudioInputStream, созданный на основе данных аудиофайла, на которые указывает File
Вызывает исключение:
UnsupportedAudioFileException — если File не указывает на корректные данные аудиофайла, распознаваемые системой
IOException — если возникает исключение ввода-вывода
NullPointerException — если file равен null

getAudioFileTypes

public static AudioFileFormat.Type[] getAudioFileTypes()
Получает типы файлов, для которых система поддерживает запись файлов.
Возвращает:
массив уникальных типов файлов. Если типы файлов не поддерживаются, возвращается массив длины 0.

isFileTypeSupported

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType)
Указывает, поддерживает ли система запись файлов указанного типа.
Параметры:
fileType — тип файла, для которого запрашиваются возможности записи
Возвращает:
true, если тип файла поддерживается, иначе false
Вызывает исключение:
NullPointerException — если fileType равно null

getAudioFileTypes

public static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream)
Возвращает типы файлов, которые система может записать из указанного входного аудиопотока.
Параметры:
stream — входной аудиопоток, для которого запрашивается поддержка типов аудиофайлов
Возвращает:
массив типов файлов. Если ни один тип файла не поддерживается, возвращается массив длиной 0.
Вызывает исключение:
NullPointerException — если stream равно null

isFileTypeSupported

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType, AudioInputStream stream)
Указывает, можно ли записать аудиофайл указанного типа из указанного входного аудиопотока.
Параметры:
fileType — тип файла, для которого запрашиваются возможности записи
stream — поток, для которого запрашивается поддержка записи файлов
Возвращает:
true, если тип файла поддерживается для этого входного аудиопотока, иначе false
Вызывает исключение:
NullPointerException — если fileType или stream равно null

write

public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out) throws IOException
Записывает в указанный выходной поток последовательность байтов, представляющую аудиофайл указанного типа. Для некоторых типов файлов требуется, чтобы длина была записана в заголовке файла; такие файлы нельзя записать от начала до конца, если длина заранее неизвестна. Попытка записать файл такого типа завершится с IOException, если длина в типе аудиофайла равна AudioSystem.NOT_SPECIFIED.
Параметры:
stream — входной аудиопоток, содержащий аудиоданные для записи в файл
fileType — тип аудиофайла для записи
out — поток, в который следует записать данные файла
Возвращает:
количество байтов, записанных в выходной поток
Вызывает исключение:
IOException — если возникает исключение ввода-вывода
IllegalArgumentException — если тип файла не поддерживается системой
NullPointerException — если stream, fileType или out равно null
См. также:
  • isFileTypeSupported(AudioFileFormat.Type)
  • getAudioFileTypes()

write

public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out) throws IOException
Записывает последовательность байтов, представляющую аудиофайл указанного типа, в указанный внешний файл.
Параметры:
stream — входной аудиопоток, содержащий аудиоданные для записи в файл
fileType — тип аудиофайла для записи
out — внешний файл, в который следует записать данные файла
Возвращает:
количество байтов, записанных в файл
Вызывает исключение:
IOException — если возникает исключение ввода-вывода
IllegalArgumentException — если тип файла не поддерживается системой
NullPointerException — если stream, fileType или out равно null
См. также:
  • isFileTypeSupported(AudioFileFormat.Type)
  • getAudioFileTypes()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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