ヘッドフォンで聞こえる音を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
パイプすることもできます。cat
netcat
たとえば、ALSA
pcmを使用すると、次のようになります。
- http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
- http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html
また、PulseAudioのソースコードを見たり、リアルタイムトランスポートプロトコル(rtp)を試してみてください。