Класс AudioInputStream
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
public class AudioInputStream extends InputStream
Класс AudioSystem включает множество методов, которые обрабатывают объекты AudioInputStream. Например, методы позволяют:
- получить поток аудиоданных из внешнего аудиофайла, потока или
URL - записать внешний файл из потока аудиоданных
- преобразовать поток аудиоданных в другой аудиоформат
- С:
- 1.3
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected AudioFormat |
format |
Формат аудиоданных, содержащихся в потоке. |
protected long |
frameLength |
Длина этого потока в кадрах образцов. |
protected long |
framePos |
Текущая позиция в этом потоке в кадрах образцов (нумерация с нуля). |
protected int |
frameSize |
Размер каждого кадра в байтах. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
AudioInputStream |
Создаёт поток аудиоданных с запрошенным форматом и длиной в кадрах образцов, используя аудиоданные из указанного потока ввода. |
AudioInputStream |
Создаёт поток аудиоданных, который считывает свои данные из указанной целевой звуковой линии. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает максимальное количество байтов, которые могут быть прочитаны (или пропущены) из этого потока аудиоданных без блокировки. |
void |
close() |
Закрывает этот поток аудиоданных и освобождает все системные ресурсы, связанные с потоком. |
AudioFormat |
getFormat() |
Получает аудиоформат звуковых данных в этом потоке аудиоданных. |
long |
getFrameLength() |
Получает длину потока, выраженную в кадрах образцов, а не в байтах. |
void |
mark |
Помечает текущую позицию в этом потоке аудиоданных. |
boolean |
markSupported() |
Проверяет, поддерживает ли этот поток аудиоданных методы mark и reset. |
int |
read() |
Считывает следующий байт данных из потока аудиоданных. |
int |
read |
Считывает некоторое количество байтов из потока аудиоданных и сохраняет их в массив буфера b. |
int |
read |
Считывает до указанного максимального количества байтов данных из аудиопотока, помещая их в заданный массив байтов. |
void |
reset() |
Перемещает этот поток аудиоданных в позицию, которую он занимал в момент последнего вызова метода mark. |
long |
skip |
Пропускает и отбрасывает указанное количество байтов из этого потока аудиоданных. |
Методы, объявленные в классе java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
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:
Подробное описание методов
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
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
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:
skip
public long skip(long n) throws IOException
Этот метод всегда будет пропускать целое число кадров. Если n не определяет целое число кадров, будет пропущено максимальное количество n - (n % frameSize) байт.
- Overrides:
-
skipв классеInputStream - Parameters:
-
n- запрашиваемое количество байтов для пропуска - Returns:
- фактическое количество пропущенных байтов
- Throws:
-
IOException- если произошла ошибка ввода-вывода - See Also:
available
public int available() throws IOException
read или skip для этого потока ввода аудио; ограничение может изменяться каждый раз при вызове этих методов. В зависимости от базового потока, может быть выброшено IOException если этот поток закрыт.- Overrides:
-
availableв классеInputStream - Returns:
- количество байтов, которые можно прочитать из этого потока ввода аудио без блокировки
- Throws:
-
IOException- если произошла ошибка ввода-вывода - See Also:
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
public void reset() throws IOException
mark. - Overrides:
-
resetв классеInputStream - Throws:
-
IOException- если произошла ошибка ввода-вывода - See Also:
markSupported
public boolean markSupported()
mark и 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