Spec-Zone.ru › OpenJDK 17

Класс 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)
Создаёт поток ввода аудиоданных с указанным форматом и длиной в кадрах сэмплов, используя аудиоданные из указанного потока ввода.
Parameters:
stream - поток, на котором основан этот объект AudioInputStream
format - формат аудиоданных этого потока
length - длина данных в кадрах сэмплов в этом потоке

AudioInputStream

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

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

getFormat

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

getFrameLength

public long getFrameLength()
Получает длину потока, выраженную в кадрах сэмплов, а не в байтах.
Returns:
длина в кадрах сэмплов

read

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

read

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

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

Overrides:
read в классе InputStream
Parameters:
b - буфер, в который считываются данные
Returns:
общее количество байтов, считанных в буфер, или -1, если больше нет данных из-за достижения конца потока
Throws:
IOException - если произошла ошибка ввода-вывода
See Also:
  • read(byte[], int, int)
  • read()
  • available()

read

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

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

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

skip

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

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

Overrides:
skip в классе InputStream
Parameters:
n - запрашиваемое количество байтов для пропуска
Returns:
фактическое количество пропущенных байтов
Throws:
IOException - если произошла ошибка ввода-вывода
See Also:
  • read()
  • available()

available

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

close

public void close() throws IOException
Закрывает этот поток ввода аудио и высвобождает любые системные ресурсы, связанные с потоком.
Specified by:
close в интерфейсе AutoCloseable
Specified by:
close в интерфейсе Closeable
Overrides:
close в классе InputStream
Throws:
IOException - если произошла ошибка ввода-вывода

mark

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

reset

public void reset() throws IOException
Перемещает этот поток ввода аудио в позицию, которая была у него в момент последнего вызова метода mark.
Overrides:
reset в классе InputStream
Throws:
IOException - если произошла ошибка ввода-вывода
See Also:
  • mark(int)
  • markSupported()

markSupported

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

© 1993, 2021, 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/17/docs/api/java.desktop/javax/sound/sampled/AudioInputStream.html

Spec-Zone.ru

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