Что такое формат аудио буфера для Android в HAL?
Я пытаюсь интегрировать некоторую библиотеку в Android HAL. Мне нужно передать аудиоданные в мою библиотеку в блоках левого и правого сэмплов, как показано ниже:
LLLLLRRRRR
Где L и R означают левый и правый соответственно. Я не в состоянии понять формат, в котором HAL предоставляется буфером аудиофлингером. Может кто-нибудь дать несколько указателей? Это в этом формате ниже?
LRLRLRLRLRLR
1 ответ
Это в этом формате ниже?
LRLRLRLRLRLR
Да, стереофонические аудио данные чередуются таким образом. У меня нет какой-либо документации, которая бы указывала на то, что это прямо говорит об этом, но вы можете сделать вывод, что это так, просматривая различные места в исходном коде Android. Например, в этой функции эффекта Downmix, который преобразует звук 5.1 в стерео, вы увидите, что для каждого сэмпла 5.1 он записывает один int16_t
представляет левый вывод, за которым непосредственно следует int16_t
представляя правильный вывод.