我正在尝试在android HAL中集成一些库。我需要将音频数据传递到我的库中的左侧样本块和右侧样本,如下所示:
LLLLLRRRRR
其中L和R分别代表左右 。我无法理解audioflinger为HAL提供缓冲区的格式。有人能指点一下吗?是否采用以下格式?
LRLRLRLRLRLR
答案 0 :(得分:2)
是否采用以下格式?
LRLRLRLRLRLR
是的,立体声音频数据以这种方式交错。我没有任何文档指出明确指出这一点,但你可以通过查看Android源代码中的各个地方来推断这种情况。例如,Downmix效果中的in this function将5.1音频转换为立体声,您将看到每个5.1样本写一个代表左输出的int16_t
,后面跟着{{1}表示正确的输出。