|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface IAudio
音频输出接口。
方法摘要 | |
---|---|
void |
close()
关闭源数据行(音频输出设备)。 |
void |
drain()
通过在清空源数据行的内部缓冲区之前继续向混频器器写入数据,排空源数据行中的列队数据。 |
boolean |
open(int rate,
int channels,
int bufferSize)
打开源数据行(音频输出设备)。 |
void |
start(boolean started)
向混频器器写入数据或暂停向混频器器写入数据。 |
int |
write(byte[] b,
int off,
int size)
将音频数据写入混频器。 |
方法详细信息 |
---|
boolean open(int rate, int channels, int bufferSize)
rate
- 音频采样率。channels
- 音频声道数。bufferSize
- 音频输出缓冲区长度。
int write(byte[] b, int off, int size)
本方法应该由管理PCM缓冲区的AbstractLayer.outputPCM()
方法调用。
b
- 待写入的PCM源数据。off
- 源数据b的偏移量。size
- 写入的数据长度。
AbstractLayer.outputPCM()
void start(boolean started)
初始状态为向混频器器写入数据,首次调用后将暂停向混频器器写入数据。
started
- true表示向混频器器写入数据(即正常播放输出);fase表示暂停向混频器器写入数据。void drain()
上述描述,看了让人挠头。换种说法,就是正常播放(不被用户终止)完一个文件时调用该方法,把已经向音频输出缓冲写入的数据刷一下,使之播放输出 。 如果不刷,文件解码完会立即关闭解码器,音频输出设备会随解码器关闭,那么最后一点儿已经被解码的数据不能播放输出。
本方法应该由管理PCM缓冲区的AbstractLayer.close(boolean)
方法调用。
AbstractLayer.close(boolean)
void close()
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |