Spec-Zone.ru › OpenJDK 24

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

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/sampled/AudioInputStream.html

Spec-Zone.ru

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