作為服務運行時預設聲音設備不同

作為服務運行時預設聲音設備不同

我用擠壓岩在我的筆記型電腦上播放音訊串流。這款筆記型電腦具有內建 Intel 音效卡,但我使用 HDMI 連接到顯示器來在顯示器揚聲器上播放聲音。這很有效,我可以使用鍵盤上的媒體按鈕。
然而,這僅在我將squeezelite作為後台作業執行時才有效。當我嘗試將squeezelite 作為服務運行時,出現了問題。然後,聲音在筆記型電腦揚聲器上播放。然而,我可以指定我想要squeezelite 使用哪個聲音設備。一些選項是:「預設」、「正面」和「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

有任何想法嗎?

答案1

我們沒有任何使用squeezelite模擬器的經驗,但它似乎直接使用ALSA。

要使用媒體鍵控制 ALSA,我們可以定義鍵盤快速鍵對於運行 sqeezelite 的用戶(在您的情況下root):

amixer set Master 10%+ ## for Volume UP 10%
amixer set Master 10%- ## for Volume DOWN 10%
amixer set Master toggle ## for Mute

桌面用戶鍵盤設定或其他每用戶音訊設定(例如預設音訊設備)只有在我們從用戶會話執行squeezlite(例如登入時)。

相關內容