在 OdroidXU4 上运行的 Ubuntu 最小 20.04 LTS。所以没有桌面环境。
root@odroid:~# cat /proc/asound/cards
0 [OdroidXU4 ]: Odroid-XU4 - Odroid-XU4
Odroid-XU4
1 [Device ]: USB-Audio - USB PnP Sound Device
C-Media Electronics Inc. USB PnP Sound Device at usb-xhci-hcd.3.auto-1.2, full
我修改了 asound.conf 将 USB 音频设置为默认
GNU nano 4.8 /etc/asound.conf
pcm.!default {
type plug
slave {
pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
如果我现在执行
speaker-test -t wav -c 2
向我播放“左前”和“右前”,因此我认为这意味着 USB 声卡现在是默认声卡。
如果我启动一个进程,音频仍然通过 HDMI 传输。
除了大量其他事情之外,我还尝试编辑 /etc/modprobe.d/alsa-base.conf 并设置options snd-usb-audio index=0
两次,因为它出现了两次。
如果我这样做,我会在重新启动时丢失 USB 声卡。如果我将其设置为options snd-usb-audio index=1
它会重新出现,但情况保持不变。我只是尝试了一下,因为通常它被指定为options snd-usb-audio index=-2
禁止“异常卡”成为默认值,并且我认为它会干扰我想要将其设置为默认值。
我小心地恢复了非工作更改,以便系统在音频方面处于此处描述的确切状态。默认值与所描述的更改。该操作系统最初来自 18.04 -> 19.04 -> 20.04,因为 18.04 是我可以从 sbc 的硬内核下载的最新映像。发行版升级后我确实失去了声音。显然是一个已知问题。经过几次尝试后,我修复了它,正如很多帖子中所描述的那样。
我的问题:如何让所有应用程序都使用 USB 音频设备?
答案1
如果您无论如何都运行 Pulseaudio,请不要弄乱 ALSA 设置(即对仅 ALSA 应用程序使用 Pulseaudio),而是使用pavucontrol
或pacmd
设置默认接收器和/或 Pulseaudio 中特定应用程序的接收器。
Pulseaudio 有一个数据库,该数据库会在应用程序下次启动时为应用程序分配相同的接收器,因此在 Pulseaudio 中设置默认接收器只会为以前从未运行过的应用程序选择应用程序。