オーディオ出力をファイルにコピー

オーディオ出力をファイルにコピー

ヘッドフォンで聞こえる音をC / C ++プログラムのファイルまたは変数にどのように入れますか?私は画像フレームバッファのようなものが欲しい。私の主な目標は、サウンドを別のコンピュータに送信することであるため、読み取りと書き込みの権限も必要です。この問題を解決する方法を知っている人はいますか?

答え1

次のようにテスト録音をしました。

arecord -d 4 out.wav

次のように使用できますdd

dd bs=1 if=out.wav | aplay

あるいは、whileループを使用して非常に不安定なバッファリングされていないストリームを使用します。

while read -n 2048 bytes; do
   printf "$bytes" | aplay
done < out.wav

netcatその後、ソケットまたはポートにリダイレクトできます。

スピーカーで再生されたサウンドがファイルにバッファリングされている可能性があります。ファイルがどこにあるかはわかりませんが、他の場所や同様の場所にパイプまたはtail -fパイプすることもできます。catnetcat

たとえば、ALSApcmを使用すると、次のようになります。

また、PulseAudioのソースコードを見たり、リアルタイムトランスポートプロトコル(rtp)を試してみてください。

関連情報