我有一个使用 FIFO 文件与用户交互的程序。可以进行音频调用,将输出定向arecord
到程序的某个 FIFO 文件:
arecord -r 48000 -c 1 -f S16_LE > call_in
可以通过将程序的其中一个 FIFO 文件的输出定向到以下位置来应答音频呼叫aplay
:
aplay -r 48000 -c 1 -f S16_LE - < call_out
如何使用音频文件代替第一个命令(用于拨打电话的命令)?假设我想播放该call_in
文件中的“sound.wav”,该怎么做?
答案1
如果arecord
的输入是您的声卡,那么我建议:aplay sound.wav & arecord call_in
aplay
应播放您的消息。允许立即执行下&
一个命令,该命令应开始录制发送到声卡的内容。arecord
aplay
实际上,arecord call_in & aplay sound.wav
这样可能会更好,这样您就可以确保在播放消息之前进行录制。
答案2
假设的输出arecord
在功能上类似于 wav 文件的内容(即,它们是相同的媒体格式),您可以执行以下操作:
cat sound.wav > call_in