我已经能够使用LineInCode、plink (Putty)和PulseAudio将声音从windows中的输入设备传输到Linux机器,但不幸的是,没有选择使用LineInCode来选择窗口的输出设备,所以我决定制作一个这样的程序。
由程序开发的马修·范·埃尔德已经完成了大部分工作。您可以选择一个输出设备并记录一个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:我已经尽力做到客观了,很抱歉我的职位太长了。如果你对如何缩短它有想法,请告诉我怎么做。
遵循projects链接:https://github.com/rsegecin/WLStream
发布于 2017-07-25 02:27:14
在windows输出设备中记录的格式是PCM,浮动32位,小endian,因此需要配置pacat,以便能够相应地接收这种格式。我在github上发布了这个项目。还需要以二进制方式配置输出数据,并使用fwrite函数,因为printf没有跟上数据输出。
到时见。
https://stackoverflow.com/questions/45203711
复制相似问题