Portál AbcLinuxu, 18. července 2025 09:00
Je mozne v alse globalne "preroutovat" vystup vsetkych aplikacii cez HDMI tak, aby to bolo mozne prepnut jednoduchym skriptom, aby to platilo pre vsetky aplikacie, ktore pouzivaju alsu, ale neponukaju take konfiguracne moznosti ako mplayer?
Odkedy je v linuxe podpora pre zvuk cez HDMI, podarilo sa mi nastavit mplayer aby zvuk posielal digitalne cez HDMI vystup. Ked mam pripojeny HDMI kabel, jednoducho prehravam cez
mplayer -ao alsa:device=hw=0.3
Navod som nasiel niekde online, prikaz
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: INTEL HDMI [INTEL HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
vylistuje zvukove zariadenia a HDMI je tretie v poradi. Ak tomu spravne rozumiem 0.3 potom znamena "0-ta zvukova karta a jej zariadenie 3".
Riesenie, ktore hladam, by vedelo po zapnuti HDMI obrazu nejakym switchom kompletne prepnut zvuk aby siel digitalne do HDMI a aby to bolo mozne po odpojeni prepnut spat.
pcm.!default { type plug slave.pcm "vystup" } pcm.vystup { type dmix ipc_key 1024 slave { pcm "hw:0,3" period_time 0 period_size 1024 buffer_size 4096 rate 44100 } }A pokud to aplikace nezmění bude to hrát přes hdmi.
Diky moc!
A je mozne to nejak menit za behu alebo si proste musim skriptom riesit, ako bude vyzerat ten konfigurak pre alsu a nejakym hdmi_on_off.sh si ho budem prepisovat?
Konfigurace knihoven alsy se načítá při otevírání zařízení. Musel bys zřejmě přinutit aplikaci, aby zařízení zavřela a znovu otevřela - pak by se použila nová konfigurace. Možná by u některých aplikací stačilo pauznout zvuk (slušná aplikace by zařízení měla uvolnit), obecně to ale aplikace běžně nepodporují.
K tomuto je určené pulseaudio, ale spoustu lidí (včetně mě) je nepoužívá.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.