Spec-Zone.ru › OpenJDK 21

Класс 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 final int NOT_SPECIFIED
Целое число, представляющее неизвестное числовое значение.

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

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

Методы, объявленные в классе 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)

Получить линию данных источника

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)

Получить линию данных целевого устройства

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

Получить линию данных целевого устройства

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

Получить целевые кодировки

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

Получить целевые кодировки

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

Поддерживается ли преобразование

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

Получить аудиопоток

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)

Получить целевые форматы

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

Поддерживается ли преобразование

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)
Получает поток аудиоввода указанного формата, преобразуя предоставленный поток аудиоввода.
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

Запись

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, 2023, 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/21/docs/api/java.desktop/javax/sound/sampled/AudioSystem.html

Spec-Zone.ru

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