私は audacity を使用して、Android オーディオ フリンガーの出力である生のステレオ 16 ビット リニア PCM (Android HAL にダンプ) を再生しています。合計バッファは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)。