Spec-Zone.ru › OpenJDK 25

Класс AudioInputStream

java.lang.Object
java.io.InputStream
javax.sound.sampled.AudioInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class AudioInputStream extends InputStream
Аудиопоток ввода — это поток ввода с заданным аудиоформатом и длиной. Длина выражается в кадрах отсчётов, а не в байтах. Предоставлено несколько методов для чтения из потока заданного или неопределённого количества байтов. Аудиопоток ввода отслеживает последний прочитанный байт. Можно пропустить произвольное количество байтов, чтобы перейти к более поздней позиции для чтения. Аудиопоток ввода может поддерживать метки. При установке метки сохраняется текущая позиция, чтобы позднее можно было к ней вернуться.

Класс AudioSystem содержит множество методов для работы с объектами AudioInputStream. Например, эти методы позволяют:

  • получить аудиопоток ввода из внешнего аудиофайла, потока или URL
  • записать внешний файл из аудиопотока ввода
  • преобразовать аудиопоток ввода в другой аудиоформат
Начиная с версии:
1.3
См. также:
  • AudioSystem
  • Clip.open(AudioInputStream)

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

Модификатор и тип Поле Описание
protected AudioFormat format
Формат аудиоданных, содержащихся в потоке.
protected long frameLength
Длина этого потока в кадрах отсчётов.
protected long framePos
Текущая позиция в этом потоке в кадрах отсчётов (нумерация начинается с нуля).
protected int frameSize
Размер каждого кадра в байтах.

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

Конструктор Описание
AudioInputStream(InputStream stream, AudioFormat format, long length)
Создаёт аудиопоток ввода с требуемым форматом и длиной в кадрах отсчётов, используя аудиоданные из указанного потока ввода.
AudioInputStream(TargetDataLine line)
Создаёт аудиопоток ввода, считывающий данные из указанной целевой линии данных.

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

Модификатор и тип Метод Описание
int available()
Возвращает максимальное количество байтов, которое можно прочитать из этого аудиопотока ввода (или пропустить в нём) без блокировки.
void close()
Закрывает этот аудиопоток ввода и освобождает все системные ресурсы, связанные с потоком.
AudioFormat getFormat()
Возвращает аудиоформат звуковых данных в этом аудиопотоке ввода.
long getFrameLength()
Возвращает длину потока, выраженную в кадрах отсчётов, а не в байтах.
void mark(int readlimit)
Устанавливает метку на текущей позиции в этом аудиопотоке ввода.
boolean markSupported()
Проверяет, поддерживает ли этот аудиопоток ввода методы mark и reset.
int read()
Считывает следующий байт данных из аудиопотока ввода.
int read(byte[] b)
Считывает некоторое количество байтов из аудиопотока ввода и сохраняет их в массиве буфера b.
int read(byte[] b, int off, int len)
Считывает из аудиопотока до указанного максимального количества байтов данных и помещает их в заданный массив байтов.
void reset()
Перемещает позицию этого аудиопотока ввода к позиции, на которой он находился при последнем вызове метода mark.
long skip(long n)
Пропускает и отбрасывает указанное количество байтов из этого аудиопотока ввода.

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

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

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

format

protected AudioFormat format
Формат аудиоданных, содержащихся в потоке.

frameLength

protected long frameLength
Длина этого потока в кадрах отсчётов.

frameSize

protected int frameSize
Размер каждого кадра в байтах.

framePos

protected long framePos
Текущая позиция в этом потоке в кадрах отсчётов (нумерация начинается с нуля).

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

AudioInputStream

public AudioInputStream(InputStream stream, AudioFormat format, long length)
Создаёт аудиопоток ввода с требуемым форматом и длиной в кадрах отсчётов, используя аудиоданные из указанного потока ввода.
Параметры:
stream — поток, на основе которого создан этот объект AudioInputStream
format — формат аудиоданных этого потока
length — длина данных в этом потоке в кадрах отсчётов

AudioInputStream

public AudioInputStream(TargetDataLine line)
Создаёт аудиопоток ввода, считывающий данные из указанной целевой линии данных. Формат потока совпадает с форматом целевой линии данных, а длина равна AudioSystem#NOT_SPECIFIED.
Параметры:
line — целевая линия данных, из которой этот поток получает данные
См. также:
  • AudioSystem.NOT_SPECIFIED

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

getFormat

public AudioFormat getFormat()
Возвращает аудиоформат звуковых данных в этом аудиопотоке ввода.
Возвращает:
объект аудиоформата, описывающий формат этого потока

getFrameLength

public long getFrameLength()
Возвращает длину потока, выраженную в кадрах отсчётов, а не в байтах.
Возвращает:
длину в кадрах отсчётов

read

public int read() throws IOException
Считывает следующий байт данных из аудиопотока ввода. Размер кадра аудиопотока ввода должен составлять один байт, иначе будет выброшено исключение IOException.
Определён в:
read в классе InputStream
Возвращает:
следующий байт данных или -1, если достигнут конец потока.
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • read(byte[], int, int)
  • read(byte[])
  • available()

read

public int read(byte[] b) throws IOException
Считывает некоторое количество байтов из аудиопотока ввода и сохраняет их в массиве буфера b. Фактически считанное количество байтов возвращается в виде целого числа. Этот метод блокируется до тех пор, пока входные данные не станут доступными, не будет обнаружен конец потока или не будет выброшено исключение.

Этот метод всегда считывает целое количество кадров. Если длина массива не кратна целому количеству кадров, будет считано не более b.length - (b.length % frameSize) байтов.

Переопределяет:
read в классе InputStream
Параметры:
b — буфер, в который считываются данные.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец потока.
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • read(byte[], int, int)
  • read()
  • available()

read

public int read(byte[] b, int off, int len) throws IOException
Считывает из аудиопотока до указанного максимального количества байтов данных и помещает их в заданный массив байтов.

Этот метод всегда считывает целое количество кадров. Если len не задаёт целое количество кадров, будет считано не более len - (len % frameSize) байтов.

Переопределяет:
read в классе InputStream
Параметры:
b — буфер, в который считываются данные.
off — начальное смещение в массиве b, начиная с которого записываются данные.
len — максимальное количество байтов для чтения.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец потока.
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • read(byte[])
  • read()
  • skip(long)
  • available()

skip

public long skip(long n) throws IOException
Пропускает и отбрасывает указанное количество байтов из этого аудиопотока ввода.

Этот метод всегда пропускает целое количество кадров. Если n не задаёт целое количество кадров, будет пропущено не более n - (n % frameSize) байтов.

Переопределяет:
skip в классе InputStream
Параметры:
n — запрошенное количество байтов для пропуска
Возвращает:
фактическое количество пропущенных байтов
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • read()
  • available()

available

public int available() throws IOException
Возвращает максимальное количество байтов, которое можно прочитать из этого аудиопотока ввода (или пропустить в нём) без блокировки. Это ограничение действует только при следующем вызове метода read или skip для этого аудиопотока ввода; при каждом вызове этих методов ограничение может быть разным. В зависимости от нижележащего потока может быть выброшено исключение IOException, если этот поток закрыт.
Переопределяет:
available в классе InputStream
Возвращает:
количество байтов, которые можно прочитать из этого аудиопотока ввода без блокировки
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • read(byte[], int, int)
  • read(byte[])
  • read()
  • skip(long)

close

public void close() throws IOException
Закрывает этот аудиопоток ввода и освобождает все системные ресурсы, связанные с потоком.
Определён в:
close в интерфейсе AutoCloseable
Определён в:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Выбрасывает:
IOException — если произошла ошибка ввода или вывода

mark

public void mark(int readlimit)
Устанавливает метку на текущей позиции в этом аудиопотоке ввода.
Переопределяет:
mark в классе InputStream
Параметры:
readlimit — максимальное количество байтов, которое можно прочитать до того, как метка станет недействительной
См. также:
  • reset()
  • markSupported()

reset

public void reset() throws IOException
Перемещает позицию этого аудиопотока ввода к позиции, на которой он находился при последнем вызове метода mark.
Переопределяет:
reset в классе InputStream
Выбрасывает:
IOException — если произошла ошибка ввода или вывода
См. также:
  • mark(int)
  • markSupported()

markSupported

public boolean markSupported()
Проверяет, поддерживает ли этот аудиопоток ввода методы mark и reset.
Переопределяет:
markSupported в классе InputStream
Возвращает:
true, если этот поток поддерживает методы mark и reset; в противном случае — false
См. также:
  • mark(int)
  • reset()

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

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/sampled/AudioInputStream.html

Spec-Zone.ru

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