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).