Chaque fois que je veux utiliser Skype, je dois aller dans les préférences sonores. Et là, réglez l'entrée audio sur "webcam" et décochez le bouton "muet". C'est assez énervant. Est-il possible de toujours garder la même configuration?
Lors de l'exécution de pulseaudio, tous les paramètres peuvent être définis en plaçant des fichiers de configuration personnalisés dans le répertoire caché .Pulse
de votre HOME. Si ces fichiers n'existent pas encore, vous pouvez utiliser les fichiers standard de /etc/Pulse/
comme modèle. La plupart des entrées ont des explications verbeuses dans ces fichiers.
~/.Pulse/default.pa
pour charger des modules et définir les valeurs par défaut~/.Pulse/client.conf
pour configurer un client pour le serveur de sons~/.Pulse/daemon.conf
pour définir les fréquences d'échantillonnage et les tamponsPour que votre webcam soit la source par défaut, nous devons connaître le nom et le numéro de cette source en consultant la liste générée par la commande suivante dans un terminal:
pacmd list-sources
Nous éditons ensuite la ligne suivante dans ~/.Pulse/default.pa
:
set-default-source [name]
et remplacez [name]
par le nom ou le numéro de source de la source souhaitée. Nous devons ensuite nous assurer que la source est désactivée en ajoutant cette ligne:
set-source-mute [name]|[#n]> 0
Donnez le nom ou l'index de votre source. Vous pouvez ajouter divers autres paramètres référencés dans le wiki de PulseAudio (à présent sur la page de manuel: man Pulse-cli-syntax
).
Il est recommandé de tester d'abord toutes les commandes via l'interface de ligne de commande avant de modifier les fichiers de configuration. Cela peut être ouvert avec pacmd
dans un terminal
Je conviens que le problème est que Pulseaudio ne définit pas un périphérique USB par défaut, car il n’est pas présent au démarrage de Pulse.
Soo ma solution à cela est d’attacher au système ce qui remarque quand un périphérique USB est connecté ... UDEV!
En passant, ces instructions sont légèrement funky, et je suppose que vous êtes à l'aise pour faire des choses en ligne de commande, et que vous devenez l'utilisateur root pour mettre à jour les fichiers udev et rendre les scripts exécutables.
La première étape consiste à brancher votre webcam et à trouver le numéro du vendeur magique et les numéros de produit en tapant
lsusb
J'utilise une Microsoft Lifecam, et cela se voit
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
la partie importante est 045e: 072d
Ensuite, pendant que la webcam est connectée, recherchez le nom du périphérique pulseaudio. Type
pacmd list-sources
Encore une fois, je cherche la ligne qui commence name:
puis qui a quelque chose à voir avec une Microsoft Lifecam ... la voilà
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
mon nom de périphérique pulseaudio sera donc alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Ensuite, j'ai créé une nouvelle règle udev qui est déclenchée lorsqu'un périphérique USB avec vendor = 045e et product = 072d est inséré. Pour créer une règle, créez un nouveau fichier appelé /etc/udev/rules.d/
QUELQUE CHOSE.rules
(j'ai appelé mon fichier /etc/udev/rules.d/95-webcam-mic.rules
).
Mettez cette ligne dans le fichier
SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"
N'oubliez pas de remplacer le ATTR {idVendor} et ATTR {idProduct} par les valeurs pour votre webcam.
Le but de cette règle est d’exécuter un script pour définir le périphérique USB pour l’entrée, c’est la partie RUN+="/usr/local/bin/webcam-mic"
.
Aperçu rapide temps. Chaque fois que je connecte ma webcam, je veux exécuter la commande
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Mais la commande doit être exécutée en tant que me (l'utilisateur exécutant le bureau), mais udev s'exécute en tant qu'utilisateur root. Ainsi, lorsque udev exécute ma commande, j'ai besoin de changer à mon utilisateur puis exécutez la commande.
Nous avons donc 2 options.
Rapide et sale . Faites en sorte que la règle udev exécute su james -c pacmd set-default-source...
c'est tellement mauvais que je ne peux même pas finir de taper la commande. Et si vous changez de webcam? Et si vous installez ceci pour un autre utilisateur?
Légèrement plus propre . Exécutez un script qui lit un fichier par défaut contenant le nom du périphérique pulseaudio et votre nom d'utilisateur. Si vous voulez les fichiers, ils sont sur GitHub. D'abord le script /usr/local/bin/webcam-mic
. Le fichier par défaut /etc/default/webcam-mic
doit simplement définir les 2 variables du shell, comme indiqué dans le commentaire de la Gist. Placez le script dans /usr/local/bin/
et rendez-le exécutable. Ensuite, placez le fichier par défaut dans /etc/defaults/
et éditez-le pour utiliser votre nom d'utilisateur et le périphérique pulseaudio de la version précédente.
Bonne chance!
La solution de Takkat ne fonctionnait pas pour moi, voici ma solution pour ceux qui ont encore un problème avec cela.
La solution de Takkat posait deux problèmes pour moi. Tout d'abord, j'ai réalisé qu'il fallait un délai après le démarrage pour que le passage au microphone puisse avoir lieu (j'utilise la commande 'veille' dans ma solution ci-dessous). De plus, la commande 'set-default-source' fonctionnait pour allumer le microphone USB, mais d'une manière ou d'une autre, Skype ne le reconnaissait pas et continuait à utiliser le microphone interne.
Pour que cela fonctionne, il est d’abord utile d’installer pavucontrol. Dans pavucontrol, ouvrez l'onglet 'Configuration' et observez ce qui se passe avec les commandes ci-dessous pour vérifier que tout fonctionne comme prévu.
Ensuite, depuis un terminal, entrez:
pacmd
De là, entrez:
list-cards
Dans la sortie, recherchez le numéro d’index de l’audio USB que vous souhaitez (dans mon cas, il s’agissait de "1"). Consultez ensuite les lignes répertoriées sous "Profils" pour la carte par défaut et la carte USB. Ceux-ci devraient être les mêmes que ceux listés dans pavucontrol, et peuvent être quelque chose comme 'ouput: input + output', 'off', ou 'input: analog-mono' etc. Toujours dans la ligne de commande pacmd, la commande set-card-profile <index number> <profile name>
devrait modifier les paramètres dans pavucontrol. Ce que nous voulons faire ici est de basculer l’audio interne du duplex vers la sortie uniquement, et le port USB vers l’entrée.
Une fois que les profils appropriés ont été trouvés, nous voulons créer une commande de démarrage pour modifier quelques paramètres juste après le démarrage. Pour créer une commande de démarrage, ouvrez le tableau de bord et recherchez "Applications de démarrage", puis cliquez sur "Ajouter", puis entrez le nom de votre choix et la commande appropriée ci-dessous.
Après essais et erreurs, ma commande de démarrage ressemblait à ceci:
bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"
Explication: J'ai trouvé que la commande 'sleep' était nécessaire, cela signifie que la commande est exécutée après une pause, que je règle à 30 secondes (je pense que cela peut être moins, jouez avec cela). La commande suivante (après le '&&') consiste à faire basculer le profil de carte (interne) par défaut (entrée + sortie) (duplex, qui est la valeur par défaut) uniquement pour la sortie. La commande suivante est pour la carte son USB (dans mon cas, le nombre est "1") pour éteindre. La dernière commande est que cette même carte se rallume en mode 'input: analog-mono'
Vous devrez peut-être jouer avec ces paramètres pour trouver celui qui fonctionne.
Maintenant, au démarrage, mon microphone USB est prêt à être utilisé au bout de 30 secondes et Skype utilise le microphone approprié.
essayez ceci, cliquez sur l'icône du haut-parleur sur votre panneau supérieur, les préférences de clic. Là, vous pouvez sélectionner une option d’entrée par défaut pour votre microphone et probablement modifier une configuration matérielle pour que tout fonctionne correctement.