我正在使用pulseaudio环回将我的系统声音和麦克风连接在一起。问题是我的系统声音有时会延迟一秒甚至更长。我已经同时更改了勾选,paprefs但这还没有解决它。我正在使用这个脚本来执行此操作。
STREAM_MODULE=$(pactl load-module module-null-sink sink_name=StreamAudio sink_properties=device.description="StreamAudio")
pactl load-module module-loopback source=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor sink=StreamAudio latency_msec=1 >> /dev/null
pactl load-module module-loopback source=alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono sink=StreamAudio latency_msec=1 >> /dev/null
pactl load-module module-device-manager >> /dev/null
read -p "Loaded! Press enter to unload!"
pactl unload-module $STREAM_MODULE
pactl unload-module module-device-manager
pactl unload-module module-null-sink
pactl unload-module module-loopback
Run Code Online (Sandbox Code Playgroud)
我已经浏览了谷歌页面,但似乎没有任何解决办法。我是否缺少一些明显的东西?
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor都是我的系统声音。
alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono是我的麦克风
下面是一个延迟变为 3.4 秒的示例:http://screencloud.net/v/tNAQ,而另一个环回的延迟要少得多http://screencloud.net/v/suIF
据我所知,由于某种原因缓冲区已满。有什么办法可以冲洗它或什么吗?
我找到了暂时的出路,但这仍然让我困惑。我制作了一个组合模块,然后将我想要的每个声源链接到组合模块,然后将其路由到我的系统声音和流媒体接收器。
STREAM_MODULE=$(pactl load-module module-null-sink sink_name=StreamAudio sink_properties=device.description="StreamAudio")
COMBINE_MODULE=$(pactl load-module module-combine-sink sink_name=Combined sink_properties=device.description="Combined" slaves=StreamAudio,alsa_output.pci-0000_00_1b.0.analog-stereo)
pactl load-module module-loopback rate=44000 adjust_time=0 source=alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono sink=StreamAudio latency_msec=1 >> /dev/null
pactl load-module module-device-manager >> /dev/null
read -p "Loaded! Press enter to unload!"
pactl unload-module $COMBINE_MODULE
pactl unload-module $STREAM_MODULE
pactl unload-module module-device-manager
pactl unload-module module-loopback
Run Code Online (Sandbox Code Playgroud)
可能有一种方法可以 grep 的结果pacmd list-clients,然后仅清除有效的源,将其输出更改为组合接收器,但这将花费太长且复杂的时间。
虽然现在出现了一个新问题,我什至通过通过终端运行命令来测试它。由于某种原因,我无法更改 Java 的输出接收器。这是我尝试过的以及它返回的结果:
vilsol@skynet:~$ pacmd move-sink-input 6421 124
Welcome to PulseAudio! Use "help" for usage information.
>>> Moved failed.
Run Code Online (Sandbox Code Playgroud)
我也和其他人一起尝试过,他们都成功了。6421是Java索引,124是sink索引。
| 归档时间: |
|
| 查看次数: |
14897 次 |
| 最近记录: |