Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
18.10.2021, 18:29:57

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 25996
  • Letzte: eumelator
Statistiken
  • Beiträge insgesamt: 758485
  • Themen insgesamt: 60953
  • Heute online: 616
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema:  HDMI und Sound  (Gelesen 225 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

HDMI und Sound
« am: 13.10.2021, 18:31:49 »
Hallo,
kann man es mit (begrenztem Aufwand) hinbekommen, dass,  wenn ein HDMI Kabel dran ist auch der Sound darüber geht?
Und natürlich auch wieder zurück auf die Lautsprecher wenn das Kabel abgezogen wird?
Zwar bekommt man es manuell über die Klangeinstellung hin, aber eine Automatik fände ich schicker ;)
Danke fürs Helfen!

Re: HDMI und Sound
« Antwort #1 am: 14.10.2021, 11:08:23 »
Du schreibst nichts zu deinem System und dem verwendeten Desktop, unter LM 20.2 Cinnamon verwende ich folgendes Script als "SoundSwitcher":
#!/bin/bash
HDMI=$(pactl list short sinks | grep -i hdmi-stereo)
if [ -z $HDMI ] ; then
  pactl set-card-profile 0 output:hdmi-stereo
  notify-send "Sound über HDMI-Stereo"
else
  pactl set-card-profile 0 output:analog-stereo
  notify-send "Sound über Analog-Stereo"
fi
exit 0
Es erfolgt eine Abfrage, ob der Ausgang gerade HDMI ist, wenn ja, wird umgeschaltet auf Analog, wenn nein, auf HDMI. Da ich HDMI nicht allzu oft benötige, verwende ich für den Aufruf einfach einen Starter. Es müsste aber eigentlich auch möglich sein, das Ganze über eine udev-Regel hinzubiegen.


Re: HDMI und Sound
« Antwort #2 am: 14.10.2021, 12:00:00 »
Ja, sorry - mit deiner Krtik hast du recht. Aktuelles 20.2 (uma) System Cinnamon.

Vielen Dank für das Script, hab ich gleich ausprobiert. Bei jedem zweiten Mal kam ein Fehler, weil HDMI zu lang wurde.

Um die Fehlermeldung
Zeile 3: [: Zu viele Argumente.
wegzubekommen hab ich ganz dämlich ergänzt:
HDMI=$(pactl list short sinks | grep -i hdmi-stereo | cut -c -1)

Ich dachte zunächst es wechselt intelligent (wenn HDMI dran ist, dann HDMI), aber bei genauerem check wechselt es einfach von analog auf HDMI hin und her - also auch auf HDMI, wenn gar keine HDMI Verbindung da ist. Das ist nicht schlimm, sollte man nur wissen.

Angeblich soll es mit udev wohl so gehen:
/lib/udev/rules.d/hdmi_sound.rules:
SUBSYSTEM=="drm", ACTION=="change", RUN+="/home/user/bin/SoundSwitcher"
 
Wenn ich in SoundSwitcher die Zeile
date >> /home/user/myrule.log
drin hab, sehe ich das das Script gestartet wird. Aber in $HDMI ist nichts drin und es wird auch die if/else Anweisung nicht ausgeführt.
Das muss noch gelöst werden. Ursache ist wohl, das pactl nicht unter root ausgeführt werden kann. Mh.

Ein Nachteil der udev-Regel - es wird nicht erkannt ob der Monitor plugged oder unplugged wird.
« Letzte Änderung: 14.10.2021, 19:59:41 von starbright »

Re: HDMI und Sound
« Antwort #3 am: 15.10.2021, 12:34:07 »
Ich habe mir mal den Spaß gemacht und ein wenig versucht, mit udev-Regeln herumzuspielen, allerdings ist dabei nichts sinnvolles herausgekommen.
Das bloße Stecken des HDMI-Kabels wird mittels
udevadm monitor --propertygar nicht erkannt, zumindest die Verbindung zum Fernseher muss bestehen. Und mit diversen erstellten Regeln (auch ohne Umweg über ein Script) und verbundenem Fernseher ist es mir trotzdem nicht gelungen, den Ausgang zum Umschalten zu bewegen.
Da benutze ich doch lieber meinen Starter weiter ...

Re: HDMI und Sound
« Antwort #4 am: 16.10.2021, 17:52:55 »
Ja, das udev script wird getriggert, aber die Befehle nicht ausgeführt.
Wenn man sudo pactl ... macht kommt auch eine Fehlermeldung.
Aber wirklich schräg, seitdem ich da rumprobiert hab wird der Sound jetzt tatsächlich irgendwie automatisch auf HDMI (und bei abstecken wieder über Analog ausgegeben). Das finde ich seltsam, aber ich beschwere mich nicht.