0
我想记录一下是刚打出来的扬声器使用以下ALSA的API:使用ALSA,如何使用麦克风录制它通过扬声器播放的内容?
snd_pcm_mmap_writei()
snd_pcm_mmap_readi()
这两个函数被调用一个在同一个线程未来。 writei()函数快速返回(我相信一旦播放缓冲区可用,它就会返回),而readi()返回,直到捕获指定的样本。但是捕获的样本不是刚刚发布的样本。我猜测ALSA不处于双工模式,即它必须先完成回放,然后开始记录,记录没有意义,但只是点击。扬声器仍能正确播放声音。
所有硬件/软件参数设置正确。如果我只做音频捕捉,我会得到一个很好的声波。 PCM手柄以正常模式打开(不是非块,不是异步)。
有人有建议如何使这项工作?
您必须配置您的声音硬件才能将播放设备的声音传送回捕捉设备。你做了这个了吗? –
我的目的是测试我的扬声器是否正常工作,所以我必须捕捉声音中的声音。因此,从回放到捕获的环回未设置。 –
你为什么在同一个程序中这样做?你不能只运行'aplay'和'arecord'? –