一些问题
在/etc/pulse/default.pa中,我确认存在load-module module-detect、load-module module-udev-detect。由于lxc中存在加载问题,可能会有异常(我通过pactl命令先unload-module,重新load发现无法正常使用)。
为此,我进行了手动加载:pactl load-module module-alsa-card device_id=0,pactl load-module module-alsa-source device_id=0。这个加载有效,volume control可以看到录音和输出设备
新的问题,它有时会没有声音,在某次尝试中,运行pulseaudio –start有效。当我运行systemctl –user restart pulseaudio时,volume control中就看不到声卡和录音设备了。
非常重要:我的直通方法,是基于pve8,Debian12 CT进行测试的。我验证了Debian11、Ubuntu22,无法正常显示画面直通!我建议你阅读我整理系列的内容。
ippa如何解决
由于自动检测在lxc中是有故障的,需要手动加载 module-alsa-card 和 module-alsa-source 。同时我们也将禁用自动检测功能
sudo nano /etc/pulse/default.pa 禁用part,自己用#注释 ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev suppor> load-module module-detect .endif 禁用part,自己用#注释 load-module module-alsa-card device_id=0 load-module module-alsa-source device_id=0
我发现挂载之后,volume control显示了声卡,但没有声音。你可以每次手动启动pulseaudio –start。
但,这明显不是我想要的
sudo nano /etc/pulse/client.conf #取消下面这一行的注释 autospawn = yes
重启,OK。
待处理问题
已经验证,如何使用HDMI OUT时,配置文件可以用,但hdmi设备那边没有声音,还是从耳机口输出。对我来说问题不大,暂时不处理了。
我觉得,这里的验证思路,可以通过指定输出设备来解决。
load-module module-alsa-sink device=hw:0,0,第一声卡,设备号0。hdmi应该是设备号3 4.
基础思路
1、alsa》plusaudio》volume control。我们重点解决这三个
2、alsa是基石,在玩转音频之前,请确保在lxc端的命令行,speakertest有声音输出。
3、plusaudio是对接口,大部分的时候,都是这个玩意无法正常启动
4、volume control是面板,如果你按我之前的方法处理,可能会发现,这里明明显示了设备,确没有声音。殊不知plusaudio没有正确启动
alsa
声卡和录音设备确认
aplay -l
arecord -l
plusaudio一些模块相关命令
#取消加载 pactl unload-module module-detect pactl unload-module module-udev-detect pactl unload-module module-alsa-card pactl unload-module module-alsa-source #手动加载 pactl load-module module-alsa-card device_id=0 pactl load-module module-alsa-source device_id=0 pactl load-module module-alsa-sink #启停命令 pulseaudio --kill pulseaudio --start systemctl --user restart pulseaudio
pacmd
pacmd 是 PulseAudio 的命令行工具,可以用来查询和控制 PulseAudio 的状态。
pactl
是一个 PulseAudio 的命令行工具,提供了更底层的控制功能。
pactl info:显示 PulseAudio 服务器信息。 pactl list sinks:显示音频输出设备信息。 pactl list sources:显示音频输入设备信息。 pactl list cards:显示声卡信息。