我使用squeezelite在笔记本电脑上播放音频流。膝上型电脑有一个内置的英特尔声卡,但我使用 HDMI 连接到我的显示器来在我的显示器扬声器上播放声音。这很好用,我可以使用键盘上的媒体按钮。
但是,这仅在我将 squeezelite 作为后台作业执行时才有效。当我尝试将 squeezelite 作为服务运行时出现问题。然后,声音在笔记本电脑扬声器上播放。但是,我可以指定我希望 squeezelite 使用哪个声音设备。一些选项是:“default”、“front”和“hdmi”。“default”和“front”进入笔记本电脑扬声器,“hdmi”进入显示器扬声器但绕过媒体键。手动运行时,媒体键工作,“默认”和“hdmi”
我的问题是:如何将 squeezelite 作为一项服务运行,将输出发送到 HDMI 扬声器,并使媒体键正常工作?
可能是因为我将 squeezelite 作为服务运行(作为 root),“默认”具有不同的含义并且媒体密钥被绕过?我试图以start-stop-daemon
我的用户身份运行,但这没有用。
这是我的声音设备列表:
Output devices:
default - Playback/recording through the PulseAudio sound server
null - Discard all samples (playback) or generate zero samples (capture)
pulse - PulseAudio Sound Server
sysdefault:CARD=Intel - HDA Intel, ALC272 Analog - Default Audio Device
front:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - Front speakers
surround40:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - 4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - 4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - 5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - Direct sample mixing device
dsnoop:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - Direct sample snooping device
hw:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - Direct hardware device without any conversions
plughw:CARD=Intel,DEV=0 - HDA Intel, ALC272 Analog - Hardware device with all software conversions
hdmi:CARD=HDMI,DEV=0 - HDA ATI HDMI, HDMI 0 - HDMI Audio Output
dmix:CARD=HDMI,DEV=3 - HDA ATI HDMI, HDMI 0 - Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3 - HDA ATI HDMI, HDMI 0 - Direct sample snooping device
hw:CARD=HDMI,DEV=3 - HDA ATI HDMI, HDMI 0 - Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3 - HDA ATI HDMI, HDMI 0 - Hardware device with all software conversions
有任何想法吗?
我们没有任何使用 squeezelite 模拟器的经验,但它似乎直接使用 ALSA。
要使用媒体键控制 ALSA,我们可以为运行 sqeezelite 的用户定义键盘快捷键
root
(在您的情况下):桌面用户键盘设置或其他每个用户的音频设置(例如默认音频设备)仅在我们从用户会话(例如登录时)运行 squeezlite 后才有效。