[Cartes/Sorties] Changer de carte son simplement (Résolu)

Applications multimedia / jeux
Avatar de l’utilisateur
Dakyne
Daikyu
Messages : 55
Inscription : mer. 01 juin 2016, 15:12
Localisation : France
Contact :

[Cartes/Sorties] Changer de carte son simplement (Résolu)

Message par Dakyne »

Bonsoir,

Je cherche un moyen de rajouter un bouton pour swapper de carte son dans polybar. (C'est l'objectif final ça)

Donc j'ai une carte son en pci (xonar dgx) et la carte son interne (realtek)

Code : Tout sélectionner

 ~  pacmd list-sinks | grep -e 'name:' -e 'index'                   
  * index: 1
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
    index: 3
	name: <alsa_output.pci-0000_04_04.0.analog-stereo>
Je cherche à swapper entre les cartes pour avoir mon casque branché à l'arrière de la tour et les HP aussi, dans les sorties vertes des deux cartes. (exactement je m'en fous d'utiliser les deux cartes du moment que j'ai pas de câble devant, que j'ai mon casque dans la xonar et que je peux changer la sortie d'un clic).

Code : Tout sélectionner

 ~  aplay -l                                     
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: DGX [Xonar DGX], périphérique 0: Multichannel [Multichannel]
  Sous-périphériques: 0/1
  Sous-périphérique #0: subdevice #0
carte 0: DGX [Xonar DGX], périphérique 1: Digital [Digital]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: PCH [HDA Intel PCH], périphérique 0: ALC1150 Analog [ALC1150 Analog]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: PCH [HDA Intel PCH], périphérique 1: ALC1150 Digital [ALC1150 Digital]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: NVidia [HDA NVidia], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: NVidia [HDA NVidia], périphérique 7: HDMI 1 [HDMI 1]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: NVidia [HDA NVidia], périphérique 8: HDMI 2 [HDMI 2]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: NVidia [HDA NVidia], périphérique 9: HDMI 3 [HDMI 3]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
Voilà j'ai résumé ce qui me paraissait utile, je viens poser la question parce que j'ai plein de solutions différentes que ce soit dans le wiki ou ailleurs.

Merci bien bonne soirée !
Dernière modification par Dakyne le mar. 16 mai 2017, 21:11, modifié 1 fois.
Arch, Awesome, Zsh, BÉPO
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Cartes/Sorties] Changer de carte son simplement

Message par benjarobin »

Bonjour,
Le plus simple est d'utiliser pulseaudio, qui est maintenant nécessaire par de plus en plus d'application (comme Firefox)
C'est aussi simple que ce genre de commande qui n'est qu'un exemple (A adapter pour ton cas, il faudra sûrement en lancer plusieurs...)

Code : Tout sélectionner

pactl set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo
Pour en savoir plus sur les cartes connectées : pactl list cards
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Dakyne
Daikyu
Messages : 55
Inscription : mer. 01 juin 2016, 15:12
Localisation : France
Contact :

Re: [Cartes/Sorties] Changer de carte son simplement

Message par Dakyne »

Avec

Code : Tout sélectionner

~  pulseaudio --load=module-alsa-source
ou

Code : Tout sélectionner

~  pulseaudio --load=module-alsa-card
j'imagine ?
C'est le nom de la carte qu'il faut utiliser non ? 
Merci bien !
Arch, Awesome, Zsh, BÉPO
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Cartes/Sorties] Changer de carte son simplement

Message par benjarobin »

Euh, non... pulseaudio ce n'est pas toi qui le lance, il se lance tout seul. Tu peux le gérer via une interface graphique nommée pavucontrol, ou en ligne de commande via pactl, tel qu'expliqué dans mon message précédent... Voir la doc de pactl...
Mais avant de faire des tests avec pactl et des scripts, test si le basculement fonctionne bine quand tu le commande avec pavucontrol

Pour muter une carte son :

Code : Tout sélectionner

pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo false
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Dakyne
Daikyu
Messages : 55
Inscription : mer. 01 juin 2016, 15:12
Localisation : France
Contact :

Re: [Cartes/Sorties] Changer de carte son simplement

Message par Dakyne »

Ça fonctionnait avec pavucontrol, c'est d'ailleurs la solution que j'avais en attendant ^^
Je vais fouiller avec pactl et je ramène des nouvelles (probablement pas ce soir). Merci encore de ton aide !

Edit : en fait si je reposte ce soir :p


Vu que tu m'as passé la commande pour muter une int, je suis parti pour activer les deux en permanence et muter la carte qui sert pas.
Donc j'ai essayé de faire ce qui était marqué sur ce post https://bbs.archlinux.org/viewtopic.php?id=118026 (réponse de sultanoswing)

En ayant adapté (pour l'autocomplétion zsh et mon matos)
J'ai essayé ça :

Code : Tout sélectionner

pacmd load-module module-alsa-sink device="hw:0,0" sink_name=hp 			#hw:0,0 pour la sortie analog de la xonar
pacmd load-module module-alsa-sink device="hw:1,0" sink_name=casque			#hw:1,0 pour la sortie analog de la realtek
pacmd load-module module-combine sink_name=fullsound slaves=hp,casque 		#je pense que la ligne suivante devrait ressembler à ça
Et donc mon problème c'est que j'arrive pas à charger les modules. Avec la sortie numérique (hw:0,1 ou hw:1,1) ça fonctionne mais c'est tout.

Et je stoppe là pour ce soir :p Merci bien !
Arch, Awesome, Zsh, BÉPO
Avatar de l’utilisateur
Dakyne
Daikyu
Messages : 55
Inscription : mer. 01 juin 2016, 15:12
Localisation : France
Contact :

Re: [Cartes/Sorties] Changer de carte son simplement

Message par Dakyne »

Bon j'ai trouvé quelque chose. Je pense pas que ce soit opti, mais ça marche alors je touche plus.

J'ai deux scripts :

Code : Tout sélectionner

pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo false
pactl set-sink-mute alsa_output.pci-0000_04_04.0.analog-stereo true
et

Code : Tout sélectionner

pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo true
pactl set-sink-mute alsa_output.pci-0000_04_04.0.analog-stereo false
et dans polybar/config :

Code : Tout sélectionner

[module/soundcard]
type = custom/script
format-spacing = 5
exec = echo 
click-left = exec /home/merguez/.config/polybar/switchschs.sh
click-right = exec /home/merguez/.config/polybar/switchschp.sh
Et voilà, c'était pas si compliqué que ça :) :bravo:
Arch, Awesome, Zsh, BÉPO
Répondre