我已经能够使用LineInCode,plink(Putty)和PulseAudio将音频从Windows中的输入设备流式传输到Linux机器,但不幸的是,没有选择使用LineInCode选择Window的输出设备,所以我决定制作一个它所做的程序。
由program开发的Matthew van Eerde已完成大部分工作。您可以选择输出设备并记录wav文件。因此,我应该将其发送到stdout和plink而不是写入文件,而pacat将完成剩下的工作。用他的程序“记录”的音频格式是WAVE_FORMAT_EXTENSIBLE(SubFormat)类型,它应作为PCM流式传输到pacat。所以我的问题是如何从SubFormat转换为PCM音频格式?
这是linco的命令:
linco.exe -B 16 -C 2 -R 44100 | plink -v 192.168.11.5 -l armbian -pw 1234 "cat - | pacat --playback"
PS:我尽力做到客观,抱歉这篇长篇文章。如果您对如何缩短它有所了解,请告诉我如何。
答案 0 :(得分:0)
Windows输出设备中记录的格式是PCM浮动32位小端,因此需要配置pacat以便能够相应地接收这种格式。我在github发布了该项目。还需要以二进制形式配置输出数据并使用fwrite函数,因为printf没有跟上数据输出。
见到你。