我正在尝试forked-daapd
在计算机上进行配置,一切顺利,只是在配置文件中我无法为与声卡对应的行设置新值。这是配置文件中的默认代码:
#card = "default"
我想使用名为“DG2”的声卡,它是声卡 1 号,并且具有第一个ALSA
识别为 0 号的设备。因此,我将行更改为以下内容:
card = "hw:DG2,0"
我重新启动了 daapd 服务,下次通过 iTunes 远程播放文件时,我的服务器日志文件中会收到一条消息,说由于设备繁忙,无法播放文件。设备名称的任何更改都会返回不同的错误,说该设备不存在。我很确定没有其他人使用这个外部设备,我不明白为什么我会收到这条消息。我plughw
也试过了,结果是一样的。
运行时lsof
,我得到以下结果:
mah@HomeServer:~$ lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 1579 mah 20u CHR 116,3 0t0 9083 /dev/snd/controlC1
pulseaudi 1579 mah 26u CHR 116,10 0t0 9542 /dev/snd/controlC0
pulseaudi 1579 mah 32u CHR 116,10 0t0 9542 /dev/snd/controlC0
让我补充最后一个细节。该声卡只是一个 SPDIF 输出 USB 适配器,功能非常有限(例如,没有音量控制)。Alsamixer
表示它只有一个 PCM 通道(即设备编号 0)。
答案1
该default
设备自动使用可以将多个流混合在一起的插件。
尝试使用default:DG2
(但如果其他程序没有通过,这将不起作用default
)。
运行lsof /dev/snd/*
查看哪些程序正在访问声音设备。