我正在尝试自动化 websocket 客户端的一些测试。该客户端根据命令连接到服务器,该服务器基本上是一个语音到文本引擎。客户端支持来自麦克风的音频流,这样人们就可以实时录制自己的声音并将其传输到引擎。我在 centos 虚拟机中运行客户端,该虚拟机没有物理声卡,因此我决定使用以下命令来模拟一个
modprobe snd-dummy
我的计划是通过管道输出
aplay audioFile.raw
的输入
arecord test.raw -r 8000 -t raw
这样我就可以使用模拟麦克风功能。我在网上读到,ALSA 的文件插件可以将一个命令的结果传送到下一个命令,因此我对根目录中的 .asoundrc 文件进行了以下修改:
pcm.!default {
type hw
card 0
}
pcm.Ted {
type file
slave mySlave
file "| arecord test.raw -r 8000 -t raw"
}
pcm_slave.mySlave {
pcm "hw:0,0"
}
ctl.!default {
type hw
card 0
}
当我尝试以下命令时:
aplay audioFile.raw -D Ted
它似乎运行良好,但 test.raw 的输出似乎只包含沉默...有谁知道我做错了什么,我对 ALSA 很陌生,所以如果有人能指出我正确的方向,那就太好了赞赏。谢谢!
问题已修复,我没有使用 snd-dummy,而是使用 snd-aloop,并且音频管道正确引用了这个问题:
是否可以记录虚拟卡的输出? https://stackoverflow.com/questions/24350367/is-it-possible-to-arecord-output-from-dummy-card?rq=1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)