Класс 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(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) | Получает формат аудиофайла указанного |
static AudioFileFormat | getAudioFileFormat(InputStream stream) | Получает формат аудиофайла предоставленного потока ввода. |
static AudioFileFormat | getAudioFileFormat(URL url) | Получает формат аудиофайла указанного |
static AudioFileFormat.Type[] | getAudioFileTypes() | Получает типы файлов, для которых система предоставляет поддержку записи файлов. |
static AudioFileFormat.Type[] | getAudioFileTypes(AudioInputStream stream) | Получает типы файлов, которые система может записать из указанного потока аудиоввода. |
static AudioInputStream | getAudioInputStream(File file) | Получает поток аудиоввода из предоставленного |
static AudioInputStream | getAudioInputStream(InputStream stream) | Получает поток аудиоввода из предоставленного потока ввода. |
static AudioInputStream | getAudioInputStream(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) | Получает линию, соответствующую описанию в указанном объекте |
static Mixer | getMixer(Mixer.Info info) | Получает запрашиваемый аудиомикшер. |
static Mixer.Info[] | getMixerInfo() | Получает массив объектов информации о микшере, представляющий набор аудиомикшеров, которые в настоящее время установлены в системе. |
static SourceDataLine | getSourceDataLine(AudioFormat format) | Получает линию данных источника, которая может быть использована для воспроизведения аудиоданных в формате, указанном объектом |
static SourceDataLine | getSourceDataLine(AudioFormat format,
Mixer.Info mixerinfo) | Получает линию данных источника, которая может быть использована для воспроизведения аудиоданных в формате, указанном объектом |
static Line.Info[] | getSourceLineInfo(Line.Info info) | Получает информацию обо всех линиях источника определенного типа, поддерживаемых установленными микшерами. |
static TargetDataLine | getTargetDataLine(AudioFormat format) | Получает линию данных назначения, которая может быть использована для записи аудиоданных в формате, указанном объектом |
static TargetDataLine | getTargetDataLine(AudioFormat format,
Mixer.Info mixerinfo) | Получает линию данных назначения, которая может быть использована для записи аудиоданных в формате, указанном объектом |
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) | Указывает, поддерживает ли система какие-либо линии, соответствующие указанному объекту |
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