类 AudioInputStream 说明文档 中文版

javax.sound.sampled  类 AudioInputStream

java.lang.Object
  java.io.InputStream
      javax.sound.sampled.AudioInputStream
所有已实现的接口:
Closeable
******************************************************************************************************
public class AudioInputStream
       
       
       
       
extends InputStream

音频输入流是具有指定音频格式和长度的输入流。长度用示例帧表示,不用字节表示。提供几种方法,用于从流读取一定数量的字节,或未指定数量的字节。音频输入流跟踪所读取的最后一个字节。可以跳过任意数量的字节以到达稍后的读取位置。音频输入流可支持标记。设置标记时,会记住当前位置,以便可以稍后返回到该位置。

AudioSystem 类包括许多操作 AudioInputStream 对象的方法。例如,这些方法可以让您:

  • 从外部音频文件、流或 URL 获得音频输入流
  • 从音频输入流写入外部文件
  • 将音频输入流转换为不同的音频格式
*****************************************************************************************************
类 AudioInputStream 说明文档 中文版_第1张图片


****************************************************************************************************
*******************************************************************************************************
字段详细信息

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

指定者:
类  InputStream 中的  read
返回:
数据的下一个字节;如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生输入或输出错误
另请参见:
read(byte[], int, int)read(byte[]),

read

public int read(byte[] b)
         throws IOException
从音频输入流读取一定数量的字节,并将其存储在缓冲区数组  b 中。以整数形式返回实际读取的字节数。在输入数据可用、检测到流末尾或抛出异常之前,此方法将一直阻塞。

此方法将总是读取整数帧。如果数组的长度不是整数帧,则读取最大数量的 b.length - (b.length % frameSize) 字节。

覆盖:
类  InputStream 中的  read
参数:
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) 字节。

覆盖:
类  InputStream 中的  read
参数:
b - 将数据读入的缓冲区
off - 从数组  b 的开头开始的偏移量,将从此处写入数据
len - 要读取的最大数量的字节
返回:
读入缓冲区的总字节数;如果因已到达流末尾而不再有更多数据,则返回 -1
抛出:
IOException - 如果发生输入或输出错误
另请参见:
read(byte[])read()skip(long)available()

skip

public long skip(long n)
          throws IOException
跳过并丢弃此音频输入流中指定数量的字节。

覆盖:
类  InputStream 中的  skip
参数:
n - 要跳过的请求数量的字节
返回:
跳过的实际字节数
抛出:
IOException - 如果发生输入或输出错误
另请参见:
read()available()

available

public int available()
              throws IOException
返回可不受阻塞地从此音频输入流中读取(或跳过)的最大字节数。此限制只应用于对此音频输入流的  read 或  skip 方法的下一个调用;每次调用这些方法时该限制都可以有所不同。如果关闭此流,则可能抛出 IOException,这一点取决于基础流。

覆盖:
类  InputStream 中的  available
返回:
可以不受阻塞地从此音频输入流中读取的字节数
抛出:
IOException - 如果发生输入或输出错误
另请参见:
read(byte[], int, int)read(byte[])read()skip(long)

close

public void close()
           throws IOException
关闭此音频输入流并释放与该流关联的所有系统资源。

指定者:
接口  Closeable 中的  close
覆盖:
类  InputStream 中的  close
抛出:
IOException - 如果发生输入或输出错误

mark

public void mark(int readlimit)
标记此音频输入流中的当前位置。

覆盖:
类  InputStream 中的  mark
参数:
readlimit - 在标记位置变得无效之前可以读取的最大字节数。
另请参见:
reset()markSupported()

reset

public void reset()
           throws IOException
将此音频输入流重新定位到上一次调用其  mark 方法时的位置。

覆盖:
类  InputStream 中的  reset
抛出:
IOException - 如果发生输入或输出错误。
另请参见:
mark(int)markSupported()

markSupported

public boolean markSupported()
测试此音频输入流是否支持  mark 和  reset 方法。

覆盖:
类  InputStream 中的  markSupported
返回:
如果此流支持  mark 和  reset 方法,则返回  true;否则返回  false
另请参见:
mark(int)reset()

你可能感兴趣的:(java,buffer,视频输入输出流)