1

我正在尝试在 android HAL 中集成一些库。我需要将音频数据以左样本和右样本块的形式传递到我的库,如下所示:

LLLLLRRRRR

其中 L 和 R 分别代表左和右。我无法理解 audioflinger 为 HAL 提供缓冲区的格式。有人可以指点一下吗?是不是下面这个格式?

LRLRLRLRLRLR

4

1 回答 1

2

是不是下面这个格式?

LRLRLRLRLRLR

是的,立体声音频数据就是这样交错的。我没有任何文档可以明确指出这一点,但是您可以通过查看 Android 源代码中的各个位置来推断出这种情况。例如,在将 5.1 音频转换为立体声的 Downmix 效果中的这个函数中,您会看到对于每个 5.1 样本,它会写入一个int16_t代表左输出的内容,然后直接跟一个int16_t代表右输出的内容。

于 2015-07-20T14:46:58.907 回答