Разделить стерео трек на монофонический трек
Я использую Audacity для воспроизведения необработанного стереофонического 16-разрядного линейного PCM (записанного в Android HAL), который является выводом аудио-флирта Android. Общий буфер составляет 960 байт.Как правильно преобразовать стерео в отдельные моноканалы (левый и правый канал в отдельных буферах) из audio_flinger_buf (предоставленного audioflinger)? Моя библиотека нуждается в разделении левого и правого каналов в качестве входных данных
У меня есть код ниже, который я думал сделать выше:
channels = 2
for (i=0;i<channels;i++) {
int j;
for (j=0;j<240;j++) {
seperate_buf[240*i+j] = ((int16_t *)audio_flinger_buf)[j*DSM_CHANNELS+i];
}
}
поэтому у seperate_buf[0..239] будет левая выборка, а у seperate_buf[240...479] будет правая выборка.
seperate_buf [0... 239] показано ниже:seperate_buf [240.... 479] показан ниже:Почему я вижу стерео выход здесь в обоих вышеприведенных буферах?
Правильный ли мой код для разделения левого и правого каналов от стереобуфера? Я вижу, что смелость также делает нечто подобное ( https://goo.gl/GZh7fg).