Что такое формат аудио буфера для Android в HAL?

Я пытаюсь интегрировать некоторую библиотеку в Android HAL. Мне нужно передать аудиоданные в мою библиотеку в блоках левого и правого сэмплов, как показано ниже:

LLLLLRRRRR

Где L и R означают левый и правый соответственно. Я не в состоянии понять формат, в котором HAL предоставляется буфером аудиофлингером. Может кто-нибудь дать несколько указателей? Это в этом формате ниже?

LRLRLRLRLRLR

1 ответ

Решение

Это в этом формате ниже?

LRLRLRLRLRLR

Да, стереофонические аудио данные чередуются таким образом. У меня нет какой-либо документации, которая бы указывала на то, что это прямо говорит об этом, но вы можете сделать вывод, что это так, просматривая различные места в исходном коде Android. Например, в этой функции эффекта Downmix, который преобразует звук 5.1 в стерео, вы увидите, что для каждого сэмпла 5.1 он записывает один int16_t представляет левый вывод, за которым непосредственно следует int16_t представляя правильный вывод.

Другие вопросы по тегам