Класс 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(javax.sound.sampled.Line.Info), getClip()
javax.sound.sampled.Port Port getLine(javax.sound.sampled.Line.Info)
javax.sound.sampled.SourceDataLine SourceDataLine getLine(javax.sound.sampled.Line.Info), getSourceDataLine(javax.sound.sampled.AudioFormat)
javax.sound.sampled.TargetDataLine TargetDataLine getLine(javax.sound.sampled.Line.Info), getTargetDataLine(javax.sound.sampled.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 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)

Записывает поток байтов, представляющий аудиофайл указанного типа файла, в предоставленный поток вывода.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

NOT_SPECIFIED

public static final int NOT_SPECIFIED

Целое число, которое представляет неизвестное числовое значение. Это значение подходит только для знаковых величин, которые обычно не принимают отрицательные значения. Примеры включают размеры файлов, размеры кадров, размеры буферов и частоты дискретизации. Ряд конструкторов Java Sound принимает значение NOT_SPECIFIED для таких параметров. Другие методы также могут принимать или возвращать это значение, как документировано.

См. также:
Постоянные значения полей

Методы

getMixerInfo

public static Mixer.Info[] getMixerInfo()

Получает массив объектов mixer info, представляющих набор аудиомикшеров, которые в настоящее время установлены в системе.

Возвращает:
массив объектов info для установленных в данный момент микшеров. Если в системе нет микшеров, возвращается массив длиной 0.
См. также:
getMixer(javax.sound.sampled.Mixer.Info)

getMixer

public static Mixer getMixer(Mixer.Info info)

Получает запрашиваемый аудиомикшер.

Параметры:
info - объект Mixer.Info, представляющий желаемый микшер, или null для системного микшера по умолчанию
Возвращает:
запрашиваемый микшер
Исключения:
SecurityException - если запрашиваемый микшер недоступен из-за ограничений безопасности
IllegalArgumentException - если объект info не представляет микшер, установленный в системе
См. также:
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 - если соответствующая линия недоступна из-за ограничений ресурсов
SecurityException - если соответствующая линия недоступна из-за ограничений безопасности
IllegalArgumentException - если система не поддерживает хотя бы одну линию, соответствующую указанному объекту Line.Info через любой установленный микшер

getClip

public static Clip getClip()
                    throws LineUnavailableException

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

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

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

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

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

getClip

public static Clip getClip(Mixer.Info mixerInfo)
                    throws LineUnavailableException

Получает clip из указанного микшера, который можно использовать для воспроизведения аудиофайла или аудиопотока.

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

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

Параметры:
mixerInfo - объект Mixer.Info представляющий желаемый микшер, или null для системного микшера по умолчанию
Возвращает:
объект clip из указанного микшера
Исключения:
LineUnavailableException - если clip недоступен из этого микшера из-за ограничений ресурсов
SecurityException - если clip недоступен из этого микшера из-за ограничений безопасности
IllegalArgumentException - если система не поддерживает хотя бы один clip через указанный микшер
С:
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 - если соответствующая линия входных данных недоступна из-за ограничений ресурсов
SecurityException - если соответствующая линия входных данных недоступна из-за ограничений безопасности
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 - если соответствующая линия входных данных недоступна из указанного микшера из-за ограничений ресурсов
SecurityException - если соответствующая линия входных данных недоступна из указанного микшера из-за ограничений безопасности
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 - если соответствующая целевая линия данных недоступна из-за ограничений ресурсов
SecurityException - если соответствующая целевая линия данных недоступна из-за ограничений безопасности
IllegalArgumentException - если система не поддерживает ни одной целевой линии данных, поддерживающей указанный аудиоформат через любой установленный микшер
С:
1.5
См. также:
getTargetDataLine(AudioFormat, Mixer.Info), AudioPermission

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 - если соответствующая целевая линия данных недоступна от указанного микшера из-за ограничений ресурсов
SecurityException - если соответствующая целевая линия данных недоступна от указанного микшера из-за ограничений безопасности
IllegalArgumentException - если указанный микшер не поддерживает ни одной целевой линии данных, поддерживающей указанный аудиоформат
С:
1.5
См. также:
getTargetDataLine(AudioFormat), AudioPermission

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

ПолучитьФорматАудиоФайла

public static AudioFileFormat getAudioFileFormat(File file)
                                          throws UnsupportedAudioFileException,
                                                 IOException

Получает формат аудиофайла указанного File. File должен указывать на действительные данные аудиофайла.

Параметры:
file — File, из которого должна быть извлечена информация о формате файла
Возвращает:
объект AudioFileFormat, описывающий формат аудиофайла
Выбрасывает:
UnsupportedAudioFileException — если File не указывает на действительные данные аудиофайла, распознаваемые системой
IOException — если произошла ошибка ввода/вывода
NullPointerException — если file является null

ПолучитьАудиоПоток

public static AudioInputStream getAudioInputStream(InputStream stream)
                                            throws UnsupportedAudioFileException,
                                                   IOException

Получает аудиопоток из предоставленного потока ввода. Поток должен указывать на действительные данные аудиофайла. Реализация этого метода может потребовать использование нескольких парсеров для проверки потока, чтобы определить, поддерживают ли они его. Эти парсеры должны уметь отмечать поток, читать достаточное количество данных, чтобы определить, поддерживают ли они поток, и сбрасывать указатель чтения потока в исходную позицию. Если поток ввода не поддерживает эти операции, этот метод может завершиться ошибкой IOException.

Параметры:
stream — поток ввода, из которого должен быть построен AudioInputStream
Возвращает:
объект AudioInputStream, основанный на данных аудиофайла, содержащихся в потоке ввода
Выбрасывает:
UnsupportedAudioFileException — если поток не указывает на действительные данные аудиофайла, распознаваемые системой
IOException — если произошла ошибка ввода/вывода
NullPointerException — если stream является null
См. также:
InputStream.markSupported(), InputStream.mark(int)

ПолучитьАудиоПоток

public static AudioInputStream getAudioInputStream(URL url)
                                            throws UnsupportedAudioFileException,
                                                   IOException

Получает аудиопоток из предоставленного URL. URL должен указывать на действительные данные аудиофайла.

Параметры:
url — URL, для которого должен быть построен AudioInputStream
Возвращает:
объект AudioInputStream, основанный на данных аудиофайла, на которые указывает URL
Выбрасывает:
UnsupportedAudioFileException — если URL не указывает на действительные данные аудиофайла, распознаваемые системой
IOException — если произошла ошибка ввода/вывода
NullPointerException — если url является null

ПолучитьАудиоПоток

public static AudioInputStream getAudioInputStream(File file)
                                            throws UnsupportedAudioFileException,
                                                   IOException

Получает аудиопоток из предоставленного File. File должен указывать на действительные данные аудиофайла.

Параметры:
file — File, для которого должен быть построен AudioInputStream
Возвращает:
объект AudioInputStream, основанный на данных аудиофайла, на которые указывает File
Выбрасывает:
UnsupportedAudioFileException — если File не указывает на действительные данные аудиофайла, распознаваемые системой
IOException — если произошла ошибка ввода/вывода
NullPointerException — если file является null

ТипыАудиоФайлов

public static AudioFileFormat.Type[] getAudioFileTypes()

Получает типы файлов, для которых система предоставляет поддержку записи файлов.

Возвращает:
массив уникальных типов файлов. Если типы файлов не поддерживаются, возвращается массив длиной 0.

ПоддерживаетсяТипФайла

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType)

Указывает, предоставляется ли системой поддержка записи файлов для указанного типа файла.

Параметры:
fileType — тип файла, для которого запрашиваются возможности записи
Возвращает:
true если тип файла поддерживается, в противном случае false
Выбрасывает:
NullPointerException — если fileType является null

ТипыАудиоФайлов

public static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream)

Получает типы файлов, которые система может записать из указанного аудиопотока.

Параметры:
stream — аудиопоток, для которого запрашивается поддержка типа аудиофайла
Возвращает:
массив типов файлов. Если типы файлов не поддерживаются, возвращается массив длиной 0.
Выбрасывает:
NullPointerException — если stream является null

ПоддерживаетсяТипФайла

public static boolean isFileTypeSupported(AudioFileFormat.Type fileType,
                                          AudioInputStream stream)

Указывает, может ли аудиофайл указанного типа быть записан из указанного аудиопотока.

Параметры:
fileType — тип файла, для которого запрашиваются возможности записи
stream — поток, для которого запрашивается поддержка записи файла
Возвращает:
true если тип файла поддерживается для этого аудиопотока, в противном случае false
Выбрасывает:
NullPointerException — если fileType или stream являются null

Записать

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(javax.sound.sampled.AudioFileFormat.Type), getAudioFileTypes()

Записать

public static int write(AudioInputStream stream,
                        AudioFileFormat.Type fileType,
                        File out)
                 throws IOException

Записывает поток байтов, представляющий аудиофайл указанного типа в предоставленный внешний файл.

Параметры:
stream — поток аудиоданных, содержащий аудиоданные, которые будут записаны в файл
fileType — вид аудиофайла для записи
out — внешний файл, в который должны быть записаны данные файла
Возвращает:
количество байтов, записанных в файл
Выбрасывает:
IOException — если произошла ошибка ввода/вывода
IllegalArgumentException — если тип файла не поддерживается системой
NullPointerException — если stream или fileType или out являются null
См. также:
isFileTypeSupported(javax.sound.sampled.AudioFileFormat.Type), getAudioFileTypes()

© 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/AudioSystem.html

Spec-Zone .ru
спецификации, руководства, описания, API