上一篇文章我们介绍了 C API 中音频流的创建流程,以及打开音频流操作,这里我们再来看一下音频流的其他操作流程
一、音频流操作介绍
1、操作流程图
下图是状态变化流程图,虚线框表示瞬时状态,实线框表示稳定状态。
2、操作函数
上图中主要包含下面几个操作函数:
aaudio_result_t result;
// 启动音频流
result = AAudioStream_requestStart(stream);
// 暂停音频流
result = AAudioStream_requestPause(stream);
// 停止音频流
result = AAudioStream_requestStop(stream);
// 清空数据缓冲区
result = AAudioStream_requestFlush(stream);
上面的这些函数是异步调用,不会阻塞。也就是,调用完函数后,audio stream 的状态不会立马转移到指定状态。它会先转移到相应的瞬时状态,看上面的流程图就能知道,相应的瞬时状态有 Starting、Pausing、Flushing、Stopping、Closing 这几种。
3、状态回调
那调用完 requestXXX 函数后,如何获取状态是否切换成功,可以使用面的函数:
AAUDIO_A