Jump to content

Automatyczne przełączenie dźwięku na HDMI


fraktal15
 Share

Recommended Posts

Chciałbym, aby dźwięk tak jak i obraz automatycznie się przełączał po podłączeniu HDMI. Obecnie po podłączeniu np. telewizora przez port HDMI, z obrazem zasadniczo nie ma większego problemu. Dźwięk natomiast musimy ręcznie przełączyć w applecie "Dźwięk".
 

Znalazłem coś takiego:

https://forum.linuxmint.pl/showthread.php?tid=254

Próbowałem to powtórzyć na Fedora34 - nie działało. Obecnie mam Fedora35. Czy ktoś próbował takiego bądź innych rozwiązań? Macie jakieś propozycje na rozwiązanie tego problemu?

Link to comment
Share on other sites

Chyba będziesz musiał sam coś wymyślić.

Generalnie, dostępne wyjścia uzyskasz poleceniem

pactl list short sinks | cut -f 2

W wyniku tego otrzymasz przykładowo taki wynik:

(to są akurat wyjścia dostępne u mnie, jeżeli masz tylko jedno wyjście musisz pogrzebać w ustawieniach pavucontrol)

alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2
alsa_output.pci-0000_00_1b.0.analog-stereo

Aktualne wyjście otrzymasz poleceniem

LANG=C pactl info | grep 'Default Sink' | cut -d':' -f 2

A ustawiasz poleceniem

pactl set-default-sink <tu wstawiasz wyjście>

np. pierwsze polecenie ustawia jako wyjście domyślne wyjście analogowe a drugie jako hdmi

pactl set-default-sink  alsa_output.pci-0000_00_1b.0.analog-stereo

pactl set-default-sink  alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2

Wszystkie te polecenia wykonujesz jako zwykły użytkownik.

Możesz te polecenia podpiąć pod jakieś ikony czy coś w tym stylu i zmieniać wyjścia ręcznie.

 

  • Upvote 1
Link to comment
Share on other sites

Godzinę temu, sunrise napisał:

Chyba będziesz musiał sam coś wymyślić.

Generalnie, dostępne wyjścia uzyskasz poleceniem

pactl list short sinks | cut -f 2

W wyniku tego otrzymasz przykładowo taki wynik:

(to są akurat wyjścia dostępne u mnie, jeżeli masz tylko jedno wyjście musisz pogrzebać w ustawieniach pavucontrol)

alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2
alsa_output.pci-0000_00_1b.0.analog-stereo

Aktualne wyjście otrzymasz poleceniem

LANG=C pactl info | grep 'Default Sink' | cut -d':' -f 2

A ustawiasz poleceniem

pactl set-default-sink <tu wstawiasz wyjście>

np. pierwsze polecenie ustawia jako wyjście domyślne wyjście analogowe a drugie jako hdmi

pactl set-default-sink  alsa_output.pci-0000_00_1b.0.analog-stereo

pactl set-default-sink  alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2

Wszystkie te polecenia wykonujesz jako zwykły użytkownik.

Możesz te polecenia podpiąć pod jakieś ikony czy coś w tym stylu i zmieniać wyjścia ręcznie.

 

Spróbuję w wolnej chwili co z tego wyjdzie dam znać;)

Link to comment
Share on other sites

Po wpisaniu poniższe komendy:

obraz.png.8b99610a732a1632b7cdfd017a317222.png

ponieważ wyświetliło mi tylko jedną pozycję wszedłem w pavucontrol. W konfiguracji mam do wyboru:

obraz.png.7ba918ed60eee35ee9f1ea24df37e7b3.png

Po wyborze Analogowy dupleks stereo/Wyjscie Analogowe stereo/Dźwięk w zastosowaniach profesjonalnych gra dźwięk z laptopa w innym wypadku nie. Więc ustawiłem każde z nich, ale wtedy za każdym razem w urządzeniach wyjściowych (bo tam powinno być HDMI) wyświetla się tylko:

obraz.png.56c0a23e3d241123441b99fa054036e5.png

Natomiast po wybraniu w konfiguracji:  Wyjście cyfrowe stereo (HDMI) + Wejście analogowe stereo w zakładce Urządzenia wyjściowe:

obraz.png.418ee79410d768ff62225c15a223923f.png

Wydaje mi się, że w konfiguracji brakuje opcji: Wyjście analogowe stereo + Wyjście cyfrowe stereo (HDMI).

 

Tylko co można zrobić, żeby taka się pojawiła bądź ewentualnie jak to ustawić?

 

 

Edited by fraktal15
złe zdjęcia
Link to comment
Share on other sites

8 godzin temu, fraktal15 napisał:

po wpisaniu w terminal tej komendy wyświetliło:

alsa_output.pci-0000_00_1b.0.hdmi-stereo

No i teraz spróbuj  przełączać dźwięk poleceniem

pactl set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo

dla ustawienie odtwarzania przez HDMI oraz poleceniem

pactl set-default-sink  alsa_output.pci-0000_00_1b.0.analog-stereo

dla ustawienia odtwarzania przez wyjście analogowe

Oczywiście wszystko musisz mieć podłączone, przed zmiana wyjścia najlepiej program do odtwarzania całkowicie wyłączyć i uruchomić od nowa.

Link to comment
Share on other sites

Mam ustawione na analog-stereo następnie podłączam HDMI, wpisuję komendę i wyświetla:

pactl set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo
Niepowodzenie: Brak jednostki

jak wpiszę komendę dotyczącą analog-stereo:

pactl set-default-sink  alsa_output.pci-0000_00_1b.0.analog-stereo
[[email protected] ~]$ 

później włączam program z filmem wg. zaleceń.

Nie zmienia źródła dźwięku.

Link to comment
Share on other sites

6 minut temu, tomcio napisał:

Teoretycznie powinien wystarczyć ten wpis w /etc/pulse/default.pa i restart pulseaudio:

W Fedorze obecnie jest pipewire zamiast pulseaudio i wiele rzeczy się pozmieniało. Moduł o którym wspomniałeś obecnie nie jest wspierany przez pipewire

https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Migrate-PulseAudio

Link to comment
Share on other sites

[[email protected] ~]$ wpctl status
PipeWire 'pipewire-0' [0.3.40, [email protected], cookie:908985914]
 └─ Clients:
        31. WirePlumber                         [0.3.40, [email protected], pid:2210]
        32. WirePlumber [export]                [0.3.40, [email protected], pid:2210]
        51. GNOME Shell Volume Control          [0.3.40, [email protected], pid:2077]
        52. GNOME Volume Control Media Keys     [0.3.40, [email protected], pid:2363]
        53. GSConnect                           [0.3.40, [email protected], pid:2402]
        54. xdg-desktop-portal                  [0.3.40, [email protected], pid:2862]
        55. Firefox                             [0.3.40, [email protected], pid:3160]
        61. wpctl                               [0.3.40, [email protected], pid:3695]

Audio
 ├─ Devices:
 │      40. Built-in Audio                      [alsa]
 │  
 ├─ Sinks:
 │  *   43. Built-in Audio Cyfrowe stereo (HDMI) [vol: 1.00]
 │  
 ├─ Sink endpoints:
 │  
 ├─ Sources:
 │  *   44. Built-in Audio Analogowe stereo     [vol: 0.50]
 │  
 ├─ Source endpoints:
 │  
 └─ Streams:
        56. Firefox                                                     
             58. output_FL       > HDA Intel PCH:playback_FL
             60. output_FR       > HDA Intel PCH:playback_FR

Video
 ├─ Devices:
 │      38. Video Capture 3                     [v4l2]
 │      39. Metadata 3                          [v4l2]
 │  
 ├─ Sinks:
 │  
 ├─ Sink endpoints:
 │  
 ├─ Sources:
 │  *   41. Video Capture 3                    
 │  
 ├─ Source endpoints:
 │  
 └─ Streams:

 

Link to comment
Share on other sites

pactl list sinks
43. odpływ
	Stan: RUNNING
	Nazwa: alsa_output.pci-0000_00_1b.0.hdmi-stereo
	Opis: Built-in Audio Cyfrowe stereo (HDMI)
	Sterownik: PipeWire
	Określenie próbki: s32le 2 k 48000 Hz
	Mapa kanałów: front-left,front-right
	Właściciel modułu: 4294967295
	Wyciszenie: nie
	Poziom głośności: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
	                  balans 0,00
	Głośność podstawowa: 65536 / 100% / 0,00 dB
	Źródło monitora: alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor
	Opóźnienie: 0 us, skonfigurowano 0 us
	Flagi: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Właściwości:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "3"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "HDMI 0"
		alsa.long_card_name = "HDA Intel PCH at 0xd3710000 irq 31"
		alsa.name = "HDMI 0"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0xd3710000 irq 31"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "hdmi:0"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "7"
		device.api = "alsa"
		device.class = "sound"
		device.id = "40"
		device.profile.description = "Cyfrowe stereo (HDMI)"
		device.profile.name = "hdmi-stereo"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Built-in Audio Cyfrowe stereo (HDMI)"
		node.name = "alsa_output.pci-0000_00_1b.0.hdmi-stereo"
		node.nick = "HDA Intel PCH"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:0:hdmi:0:playback"
		priority.driver = "696"
		priority.session = "696"
		factory.id = "18"
		client.id = "32"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "43"
		node.max-latency = "8192/48000"
	Porty:
		hdmi-output-0: HDMI/DisplayPort (typ: HDMI, priorytet: 5900, grupa dostępności: Legacy 5, niedostępne)
	Aktywny port: hdmi-output-0
	Formaty:
		pcm

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...