所有类


javax.sound.sampled
类 AudioInputStream

java.lang.Object
  继承者 java.io.InputStream
      继承者 javax.sound.sampled.AudioInputStream
所有已实现的接口:
Closeable

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()
          测试此音频输入流是否支持 markreset 方法。
 int read()
          从音频输入流读取数据下一个字节。
 int read(byte[] b)
          从音频输入流读取一定数量的字节,并将其存储在缓冲区数组 b 中。
 int read(byte[] b, int off, int len)
          从音频流读取指定的最大数量的数据字节,并将其放入给定的字节数组中。
 void reset()
          将此音频输入流重新定位到上一次调用其 mark 方法时的位置。
 long skip(long n)
          跳过并丢弃此音频输入流中指定数量的字节。
 
从类 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

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

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部