|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Objectjmp123.decoder.AbstractDecoder
public abstract class AbstractDecoder
轻量级解码器。
AbstractDecoder的 id3v1()
, id3v2()
, vbr(Header)
,done()
,
cooperate()
方法内部什么也没做,要执行相应的具体功能,须在子类中重载实现。
AbstractDecoder 定义这些方法,是为了保证这些方法在适当的时候被解码器调用。
构造方法摘要 | |
---|---|
AbstractDecoder(IAudio audio)
用指定的音频输出audio创建一个AbstractDecoder对象。 |
方法摘要 | |
---|---|
protected boolean |
cooperate()
解码器协作事务处理。 |
protected int |
copy(byte[] b,
int off,
int len)
从解码器内部的缓冲区复制数据到b。 |
protected void |
done()
解码结束时被解码器自动调用。 |
protected abstract int |
fillBuffer(byte[] b,
int off,
int len)
填充数据到目标冲区b。 |
int |
getFrameCount()
获取当前帧序号。 |
protected void |
id3v1()
解析 ID3 tag v1. |
protected void |
id3v2()
解析 ID3 tag v2. |
boolean |
isPaused()
获取解码器状态。 |
protected java.lang.String |
openDecoder()
初始化解码器。 |
boolean |
pause()
暂停或继续解码。 |
protected int |
read(byte[] b,
int off,
int len)
从解码器内部的缓冲区读取数据到b。 |
void |
run()
开始解码,直至到达流的结尾或被用户终止。 |
protected void |
vbr(Header h)
解析 VBR 信息。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public AbstractDecoder(IAudio audio)
audio
- 音频输出对象。若为 null,解码但不产生输出。方法详细信息 |
---|
public final void run()
如果解码过程中被用户终止,将以立即方式结束音乐数据解码。
AbstractLayer.close(boolean)
public final boolean pause()
public final boolean isPaused()
public final int getFrameCount()
protected final java.lang.String openDecoder()
protected abstract int fillBuffer(byte[] b, int off, int len)
b
- 接收数据的目标缓冲区,其实就是解码器内部的一个缓冲区。off
- 目标缓冲区的偏移量。len
- 填充数据的长度。
protected void id3v1()
protected void id3v2()
protected void vbr(Header h)
h
- 帧头对象,该帧头对象已经被解码器正确初始化。该方法被调用时表明解码器已经成功定位到第一帧并且完成了帧头解码。protected boolean cooperate()
run
方法内每解码一帧后被调用一次,子类重载cooperate方法用于处理解码过程中的其它事务。
run
方法的执行流程。如果返回值为 true 则
run
循环解码下一帧,如果返回值为 false 则退出循环结束解码过程。protected void done()
protected final int copy(byte[] b, int off, int len)
b
- 接收数据的目标缓冲区。off
- 目标缓冲区的偏移量。len
- 复制数据的长度。
protected final int read(byte[] b, int off, int len)
b
- 接收数据的目标缓冲区。off
- 目标缓冲区的偏移量。len
- 复制数据的长度,可超过源数据缓冲区的长度。
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |