Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
static InputStream nullInputStream()
Возвращает новый InputStream, который не считывает байты.
byte[] readAllBytes()
Считывает все оставшиеся байты из потока ввода.
int readNBytes(byte[] b, int off, int len)
Считывает из потока ввода указанное число байтов в заданный массив байтов.
byte[] readNBytes(int len)
Считывает из потока ввода до указанного числа байтов.
void skipNBytes(long n)
Пропускает и отбрасывает из этого потока ввода ровно n байтов данных.
long transferTo(OutputStream out)
Считывает все байты из этого потока ввода и записывает их в заданный поток вывода в том порядке, в котором они были считаны.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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