Standard-Soundgerät unterscheidet sich bei Ausführung als Dienst

Standard-Soundgerät unterscheidet sich bei Ausführung als Dienst

ich benutzeSqueezeliteum Audiostreams auf meinem Laptop abzuspielen. Der Laptop hat eine eingebaute Intel-Soundkarte, aber ich verwende die HDMI-Verbindung zu meinem Monitor, um den Ton über die Lautsprecher meines Monitors wiederzugeben. Das funktioniert gut und ich kann die Medientasten auf meiner Tastatur verwenden.
Das funktioniert jedoch nur, wenn ich Squeezelite als Hintergrundjob ausführe. Wenn ich versuche, Squeezelite als Dienst auszuführen, läuft etwas schief. Dann wird der Ton über die Lautsprecher des Laptops wiedergegeben. Ich kann jedoch angeben, welches Soundgerät Squeezelite verwenden soll. Einige Optionen sind: „Standard“, „Front“ und „HDMI“. „Standard“ und „Front“ gehen an die Lautsprecher des Laptops und „HDMI“ geht an die Lautsprecher des Monitors, umgeht aber die Medientasten. Bei manueller Ausführung funktionieren die Medientasten und sowohl „Standard“ als auch „HDMI“ gehen an die Lautsprecher des Monitors.

Meine Frage ist: Wie kann ich Squeezelite als Dienst ausführen, wobei die Ausgabe an die HDMI-Lautsprecher gesendet wird und die Medientasten funktionieren?
Könnte es sein, dass „Standard“ eine andere Bedeutung hat und die Medientasten umgangen werden, weil ich Squeezelite als Dienst (als Root) ausführe? Ich habe versucht, es als mein Benutzer auszuführen start-stop-daemon, aber das hat nicht funktioniert.

Dies ist eine Liste meiner Soundgeräte:

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

Irgendwelche Ideen?

Antwort1

Wir haben keine Erfahrung mit dem Squeezelite-Emulator, aber es scheint, dass er ALSA direkt nutzt.

Um ALSA mit Medientasten zu steuern, können wir definierenTastatürkürzelfür den Benutzer, der sqeezelite ausführt (in Ihrem Fall root):

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

Desktop-Benutzertastatureinstellungen oder andere Audioeinstellungen pro Benutzer (z. B. Standard-Audiogeräte) funktionieren erst, nachdem wir Squeezlite aus einer Benutzersitzung heraus ausgeführt haben (z. B.bei der Anmeldung).

verwandte Informationen