Spec-Zone.ru › OpenJDK 17

Класс 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.

Since:
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()
Получает массив объектов mixer info, представляющих набор аудио миксеров, установленных в системе.
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.

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

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

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

Возвращает:
требуемый объект буфера
Исключения:
LineUnavailableException - если объект буфера недоступен из-за ограничений ресурсов
SecurityException - если объект буфера недоступен из-за ограничений безопасности
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 - если буфер недоступен из этого микшера из-за ограничений ресурсов
SecurityException - если буфер недоступен из этого микшера из-за ограничений безопасности
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 - если соответствующая линия-источник данных недоступна из-за ограничений ресурсов
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.

Parameters:
format - объект AudioFormat, определяющий поддерживаемый формат аудио возвращаемого потока, или null для любого формата аудио
mixerinfo - объект Mixer.Info, представляющий желаемый миксер, или null для системного миксера по умолчанию
Returns:
желаемый объект SourceDataLine
Throws:
LineUnavailableException - если соответствующий выходной поток данных недоступен из указанного миксера из-за ограничений ресурсов
SecurityException - если соответствующий выходной поток данных недоступен из указанного миксера из-за ограничений безопасности
IllegalArgumentException - если указанный миксер не поддерживает как минимум один выходной поток данных, поддерживающий указанный формат аудио
Since:
1.5
See Also:
  • 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.

Parameters:
format - объект AudioFormat, определяющий поддерживаемый формат аудио возвращаемого потока, или null для любого формата аудио
Returns:
желаемый объект TargetDataLine
Throws:
LineUnavailableException - если соответствующий входной поток данных недоступен из-за ограничений ресурсов
SecurityException - если соответствующий входной поток данных недоступен из-за ограничений безопасности
IllegalArgumentException - если система не поддерживает как минимум один входной поток данных, поддерживающий указанный формат аудио через любой установленный миксер
Since:
1.5
See Also:
  • 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.

Parameters:
format - объект AudioFormat, определяющий поддерживаемый формат аудио возвращаемого потока, или null для любого формата аудио
mixerinfo - объект Mixer.Info, представляющий желаемый миксер, или null для системного миксера по умолчанию
Returns:
желаемый объект TargetDataLine
Throws:
LineUnavailableException - если соответствующий входной поток данных недоступен из указанного миксера из-за ограничений ресурсов
SecurityException - если соответствующий входной поток данных недоступен из указанного миксера из-за ограничений безопасности
IllegalArgumentException - если указанный миксер не поддерживает как минимум один входной поток данных, поддерживающий указанный формат аудио
Since:
1.5
See Also:
  • getTargetDataLine(AudioFormat)
  • AudioPermission

getTargetEncodings

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

getTargetEncodings

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

isConversionSupported

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

getAudioInputStream

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

getTargetFormats

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

isConversionSupported

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

getAudioInputStream

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

getAudioFileFormat

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

getAudioFileFormat

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

getAudioFileFormat

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

getAudioInputStream

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

getAudioInputStream

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

getAudioInputStream

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

getAudioFileTypes

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

isFileTypeSupported

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

getAudioFileTypes

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

isFileTypeSupported

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

write

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

write

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

© 1993, 2021, 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/17/docs/api/java.desktop/javax/sound/sampled/AudioSystem.html

Spec-Zone.ru

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