Spec-Zone.ru › OpenJDK 21

Класс 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, 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/AudioInputStream.html

Spec-Zone.ru

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