|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
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()
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||