Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-09-02 12:31:54

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Łatwa zmiana domyślnej karty dźwiękowej (hdmi, analog)

Cześć

Mam głośniki podłączone do monitora, a monitor podłączony przez hdmi do laptopa.
W jaki sposób zorganizować proste przełączanie dźwięku między zintegrowaną kartą dźwiękową a wyjściem hdmi? Ewentualnie odtwarzanie dźwięku na obu kartach jednocześnie - zintegrowaną zawsze można ściszyć. Najlepiej tak aby phonon to łyknął lub nie zauważał ;).
Próbowałem używać wbudowanego w kde phonon - jednak wiele programów z nim nie gada, zwłaszcza przeglądarki i flash, do tego nie zauważa, że HDMI jest odłączone więc w głośnikach wewnętrznych cisza. Musze po odłączeniu hdmi wyłączać aplikację zmieniać priorytet wyjść i znów uruchamiać. Nie jest to przyjazne :).

pozdrawiam

Ostatnio edytowany przez bobycob (2011-09-02 17:25:16)

Offline

 

#2  2011-09-02 12:37:42

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Łatwa zmiana domyślnej karty dźwiękowej (hdmi, analog)


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#3  2011-09-02 16:38:23

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Łatwa zmiana domyślnej karty dźwiękowej (hdmi, analog)

Dzięki

Wyjdzie z tego małe how-to :)
Dla mnie nieeleganckie i niewygodne byłoby użycie jakiegoś skryptu ręcznie odpalanego gdy na klawiaturze marnuje się tyle przycisków 'gadających' z ACPI.
Laptop to ASUS K52jr opis będzie powinien działać z wszystkimi z serii. Reszta będzie wymagać drobnych modyfikacji.
Jednak po kolei.
Całość sprowadza się do wybrania domyślnej karty dźwiękowej, Uzyskuje to tworząc plik asound.conf, gdy pliku nie ma używany jest dźwięk karty zintegrowanej -  los tak chciał, że jest domyślną standardowo. Po utworzeniu lub usunięciu tego pliku konieczne jest zrestartowanie /etc/init.d/alsa-utils.
Za pomocą aplay -l zdobywamy informacje jakie karty siedzą w naszym komputerku:

Kod:

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

i na podstawie uzyskanych danych możemy utworzyć przykładowy plik asound.conf w katalogu /etc

Kod:

pcm.!default {
    type hw
    card 1
    device 3
}

ctl.!default {
    type hw           
    card 1
}

Po jego utworzeniu proponuję upewnić, się czy wpisane tam ustawienia są poprawne i uzyskujemy oczekiwany efekt :). Przejście do następnej części jest w przeciwnym przypadku bezsensowne.

Za pomocą programu acpi_listen zdobywamy id naszego przycisku który chcemy użyć do sterowania wyjściem. Asus stworzył na mije szczęście ich sporo, a części nie używam. Wybrałem klawisz pod literą 'C' - taki monitorek z 's'.
Tworzymy  w /etc/acpi/events plik o nazwie asus-hdmi-audio i zapełniamy go:

Kod:

event=hotkey (ATKD|HOTK) 0000008a
action=/etc/acpi/asus-hdmi-switch.sh

Oczywiście tajemnicze '0000008a' to numerek klawisza używanego do sterowania :).
Następnie tworzy plik ze skryptem, który  będzie wykonywany po naciśnięciu klawisza, asus-hdmi-switch.sh w katalogu /etc/acpi i czynimy go wykonywalnym chmod +x asus-hdmi-switch.sh
i zapełnieniamy go zawartością:

Kod:

#!/bin/sh

HDMISTATUS=0
test -e /etc/asound.conf && HDMISTATUS=1

if [ $HDMISTATUS = 0 ]; then
echo 'wlaczenie wyjscia hdmi'
echo "pcm.!default {
    type hw
    card 1
    device 3
}

ctl.!default {
    type hw           
    card 1
}" > /etc/asound.conf
chmod 666 /etc/asound.conf
/etc/init.d/alsa-utils 'restart'
    
    elif [ $HDMISTATUS = 1 ]; then
echo ' wylaczenie wyjscia hdmi' 
rm /etc/asound.conf             
/etc/init.d/alsa-utils 'restart'
    fi
    
    exit 0

Ustawienia w pliku /etc/asound.conf są niestety ignorowane przez phonon - cóż pozostaje się z tym pogodzić, lub zrezygnować z KDE4.

Ostatnio edytowany przez bobycob (2011-09-02 16:49:18)

Offline

 

#4  2011-09-02 17:05:36

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Łatwa zmiana domyślnej karty dźwiękowej (hdmi, analog)

Dorzucę tylko

Jeśli mamy w systemie tylko jednego użytkownika (choć można powielić) to lepiej zrobić zamiast w /etc/asound.conf  w pliku ~/.asoundrc

Wówczas odpada  /etc/init.d/alsa-utils


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#5  2011-09-02 17:16:54

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Łatwa zmiana domyślnej karty dźwiękowej (hdmi, analog)

To prawda i nawet byłoby bardziej eleganckie. Jednak z jakiegoś  powodu wpisy w tym pliku nie działały.
Choć teraz nie jestem pewien (a i sprawdzać się nie chce) czy aby na pewno dodałem linijkę "device 3" do pliku asoundrc.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)