我有一块基于 IMX6Q 的主板,想用 PulseAudio 玩游戏。我的主板有三个声音设备:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: tlv320aic3xaudi [tlv320aic3x-audio], device 0: HiFi tlv320aic3x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tlv320aic32x4au [tlv320aic32x4-audio], device 0: HiFi tlv320aic32x4-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: imxhdmisoc [imx-hdmi-soc], device 0: i.MX HDMI Audio Tx hdmi-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
我想要使用的设备是hw:1,0
:
aplay -D plughw:1,0 /usr/share/sounds/2.wav
这很有效。
但启动时 PulseAudio 无法检测 PCM 设备。当我尝试通过以下方式手动配置 PulseAudio 时
# pactl load-module module-alsa-sink device="hw:1,0"
我收到答复:
Failure: Module initialization failed
并手动开始
# pulseaudio --system -vvvv --log-meta
返回:
我:[pulseaudio][pulsecore/client.c:80 pa_client_new()] 创建了 1 个“本机客户端(UNIX 套接字客户端)” 我:[pulseaudio][pulsecore/protocol-native.c:5012 pa_native_protocol_connect()] 客户端已匿名验证。 D:[pulseaudio][pulsecore/protocol-dbus.c:799 pa_dbus_protocol_add_interface()] 为对象 /org/pulseaudio/core1/client1 添加了接口 org.PulseAudio.Core1.Client D:[pulseaudio][pulsecore/protocol-native.c:2601 command_auth()] 协议版本:远程 29,本地 29 D: [pulseaudio][pulsecore/protocol-native.c:2664 command_auth()] SHM 是否可行:否 D:[pulseaudio][pulsecore/protocol-native.c:2682 command_auth()] 协商 SHM:否 D: [pulseaudio][modules/alsa/alsa-util.c:673 pa_alsa_open_by_device_string()] 尝试使用 SND_PCM_NO_AUTO_FORMAT 的 hw:1,0... 我:[pulseaudio][(alsa-lib)pcm_hw.c:1667 _snd_pcm_hw_open()] 卡的值无效 I:[pulseaudio][modules/alsa/alsa-util.c:680 pa_alsa_open_by_device_string()] 打开 PCM 设备 hw:1,0 时出错:没有此文件或目录 E:[pulseaudio][pulsecore/module.c:175 pa_module_load()] 无法加载模块“module-alsa-sink”(参数:“device=hw:1,0”):初始化失败。 我:[pulseaudio][pulsecore/client.c:102 pa_client_free()] 释放 1 个“pactl” 我:[pulseaudio][pulsecore/protocol-native.c:4903 pstream_die_callback()] 连接已断开。 D:[pulseaudio][pulsecore/protocol-dbus.c:835 pa_dbus_protocol_remove_interface()] 接口 org.PulseAudio.Core1.Client 已从对象 /org/pulseaudio/core1/client1 中删除
我如何让 PulseAudio 加载该设备?