Ses girişim her zaman web kamerası mikrofonu nasıl olabilir?


14

Skype'ı her kullanmak istediğimde ses tercihlerine girmem gerekiyor. Ve orada, ses girişini " web kamerası " na çevirin ve " sessiz " düğmesinin işaretini kaldırın . Oldukça sinir bozucu. Her zaman aynı yapılandırmayı korumanın bir yolu var mı?


1
Bir logitech quickacam ile de bu sorun var. Her yeniden başlatmadan sonra, tercihleri ​​gözden geçirmem ve çalışması için varsayılan giriş olarak sıfırlamam gerekiyor. Bence ses tercihleri ​​ayarlandıktan sonra usb aygıtlarının yüklenmesi ile ilgili bir şey olduğunu düşünüyorum bu yüzden darbe veya alsa usb mikrofon "görmez". Ne yazık ki "sorun" gerçekten sadece bir rahatsızlık değil çünkü o kadar önemli değil gömlek kollu rulo ve yapılandırma dosyaları üzerinden kazma ve düzenleme başlamak istiyorum.

Yanıtlar:


14

PulseAudio için varsayılan ayarları değiştirme

Pulseaudio'yu çalıştırırken tüm ayarlar HOME'unuzdaki gizli .pulsedizine özel yapılandırma dosyaları koyarak tanımlanabilir . Bu dosya henüz mevcut değilse, standart dosyaları /etc/pulse/şablon olarak kullanabilirsiniz . Girişlerin çoğunda bu dosyalarda ayrıntılı açıklamalar bulunur.

  • ~/.pulse/default.pa yüklemek ve varsayılanları tanımlamak için
  • ~/.pulse/client.conf sunucusu için bir istemciyi yapılandırma
  • ~/.pulse/daemon.conf örnekleme hızları ve tamponları tanımlamak

Web kameranızı varsayılan kaynak yapmak için, terminalde aşağıdaki komutla üretilen listeye bakarak bu kaynağın adını ve numarasını bilmemiz gerekir:

pacmd list-sources

Daha sonra şu satırı düzenleriz ~/.pulse/default.pa:

set-default-source [name]

ve [name]istenen kaynağın adı veya kaynak numarası ile değiştirin . Daha sonra, bu satırı ekleyerek kaynağın sesinin açıldığından emin olmamız gerekir:

set-source-mute [name]|[#n]> 0

Kaynağınızın adını veya dizinini verin. PulseAudio Wiki'de (şimdi man sayfasında :) başvurulan çeşitli ayarları ekleyebilirsiniz man pulse-cli-syntax.

Yapılandırma dosyalarını değiştirmeden önce tüm komutların komut satırı arayüzü üzerinden test edilmesi önerilir. Bu bir terminalde açılabilirpacmd


.Pulse klasörümde default.pa yok. Tek satırlı yeni bir dosya oluşturmalı mıyım: set-default-source x?
To Do

3
@ Varsayılan ayarlarda /etc/pulse/default.pa. ~/.pulseDüzenlemeden önce bu dosyayı kullanın veya kopyalayın .
Takkat

Tamlık uğruna: bir giriş cihazı adı olarak çıkış açısı parantezleri içinde yazılan şeyi yazmak gerekir pacmd list-sources. Cihazımla birlikte oldum set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon.
Hi-Angel

@ Hi-Angel: Bunun için teşekkür ederim - cevap pulseaudio'nun daha eski bir versiyonundan geldi. Artık bir lavabonun doğru adını kullanabiliriz.
Takkat

6

Sorun, Pulseaudio'nun USB aygıtını varsayılan olarak ayarlamadığı, çünkü darbe başladığında mevcut olmadığı konusunda hemfikirim.

Soo bu benim çözüm sistemi içine kanca etmektir yapan bir USB cihazı bağlıyken haber ... udev!

BTW, bu talimatlar biraz korkak ve komut satırında bir şeyler yapmak ve udev dosyalarını güncellemek ve komut dosyalarını yürütülebilir hale getirmek için kök kullanıcı olmak rahat olduğunu varsayıyorum.

İlk olarak, bir şeyler bulun

USB Kimliği

İlk adım, web kameranızı takıp sihirli satıcı ve ürün numaralarını yazarak bulmaktır

lsusb

Microsoft Lifecam kullanıyorum ve

Bus 001 Device 013: ID 045e:072d Microsoft Corp.

önemli olan kısım 045e: 072d

Pulseaudio cihazı

Ardından, web kamerası bağlıyken pulseaudio cihaz adını bulun. tip

pacmd list-sources

Yine, başlayan ve name:sonra bir Microsoft Lifecam hakkında bir şey var hattı arıyorum ... işte burada

name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>

böylece pulseaudio cihazımın adı alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

UDEV kuralları

Ardından, vendor = 045e ve product = 072d olan bir USB aygıtı takıldığında yeni bir udev kuralı koydum. Kural oluşturmak için /etc/udev/rules.d/SOMETHING adlı yeni bir dosya oluşturun .rules(dosyamı aradım /etc/udev/rules.d/95-webcam-mic.rules).

Bu satırı dosyaya koy

SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"

Değiştirmeyi unutmayın ATTR olgusunu {idVendor} ve ATTR {idProduct} Web kameranız için değerlerle.

Bu kuralın yaptığı şey, giriş için usb cihazını ayarlamak için bir komut dosyası çalıştırmaktır RUN+="/usr/local/bin/webcam-mic".

Son olarak, web kamerasını giriş için ayarlayın

Hızlı genel bakış zamanı. Web kameramı her bağladığımda komutu çalıştırmak istiyorum

pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

Ancak komutun benim gibi çalışması gerekir (masaüstünü çalıştıran kullanıcı), ancak udev kök kullanıcı olarak çalışır - bu yüzden udev komutumu çalıştırdığında, kullanıcıma geçmek için komutu çalıştırmam gerekiyor.

Yani 2 seçeneğimiz var.

  1. Çabuk ve kirli . Udev kuralını çalıştırmak yapmak su james -c pacmd set-default-source... bu sooo yanlış bile komut yazmayı bitiremiyorum. Web kameralarını değiştirirseniz ne olur? Bunu başka bir kullanıcı için yüklerseniz ne olur?

  2. Biraz daha temiz . Pulseaudio aygıt adı ve içinde kullanıcı adınız olan varsayılan bir dosya okuyan bir komut dosyası çalıştırın. Dosyaları istiyorsanız GitHub'da. Önce senaryo /usr/local/bin/webcam-mic. Varsayılan dosya, /etc/default/webcam-micyalnızca gist'deki açıklamaya göre 2 kabuk değişkenini tanımlamalıdır. Komut dosyasını içine koyun /usr/local/bin/ve çalıştırılabilir yapın. Ardından, varsayılan dosyayı içine koyun ve /etc/defaults/kullanıcı adınızı ve pulseaudio cihazınızı daha önce kullanmak için düzenleyin.

İyi şanslar!


Bu komut dosyalarını tekrar yükleyebilme şansınız; macuninden kayboldu mu?
ej159

Senaryoyu GitHub'da bir özete koydum ve cevabı güncelledim.
James Mitchell

2

Takkat'ın çözümü benim için işe yaramıyordu, işte hala bu konuda sorun yaşayan herkes için benim çözümüm.

Takkat'in çözümüyle benim için iki sorun vardı. İlk olarak, mikrofona geçiş yapılmadan önce başlatmadan sonra bir gecikme olması gerektiğini fark ettim (aşağıdaki çözümümde 'uyku' komutunu kullanıyorum). Ayrıca, 'set-default-source' komutu USB mikrofonu açmak için çalışıyordu, ancak bir şekilde Skype bunu tanımıyordu ve dahili mikrofonu kullanmaya devam etti.

Bunun çalışması için, öncelikle pavucontrol'ü kurmak yararlıdır. Pavucontrol'de, 'Yapılandırma' sekmesini açın ve işlerin istendiği gibi çalışıp çalışmadığını kontrol etmek için aşağıdaki komutlarda neler olduğunu gözlemleyin.

Ardından, bir terminalden şunu girin:

pacmd

Oradan şunu girin:

list-cards

Çıktıda, istediğiniz USB sesin dizin numarasını bulun (benim durumumda, bu '1' idi). Ardından, hem varsayılan kart hem de USB kart için 'profiller' altında listelenen çizgilere bakın. Bunlar pavucontrol'de listelenenlerle aynı olmalı ve 'çıkış: giriş + çıkış', 'kapalı' veya 'giriş: analog-mono' vb. Olabilir. Yine de pacmd komut satırında komut set-card-profile <index number> <profile name>değişmelidir pavucontrol'deki ayarlar. Burada yapmak istediğimiz, dahili sesi dubleksden sadece çıkışa ve USB'yi girişe geçirmektir.

Uygun profilleri bulduktan sonra, başlangıçtan hemen sonra birkaç ayarı değiştirmek için bir başlangıç ​​komutu oluşturmak istiyoruz. Bir başlangıç ​​komutu oluşturmak için kısa çizgiyi açın ve 'başlangıç ​​uygulamaları' için arama yapın, ardından 'ekle'yi tıklayın, ardından istediğiniz bir adı ve aşağıya uygun komutu girin.

Deneme yanılma işleminden sonra başlatma komutum şöyle görünüyordu:

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"

Açıklama: 'uyku' komutunun gerekli olduğunu buldum, bu komutun duraklamadan sonra yürütüldüğü, 30 saniyeye ayarladığım anlamına gelir (bunun daha az olabileceğini düşünüyorum, bununla oynayın). Bir sonraki komut ('&&' karakterinden sonra), varsayılan (dahili) kart profilini giriş + çıkıştan (varsayılan olan dupleks) yalnızca çıkışa geçirmektir. Bir sonraki komut USB ses kartının (benim durumumda, numara '1') kapatılacak. Son komut aynı kartın 'input: analog-mono' modunda tekrar açılmasıdır

Çalışan ayarları bulmak için bu ayarlarla oynamanız gerekebilir.

Şimdi başlattığımda, USB mikrofonum 30 saniye sonra kullanıma hazır ve Skype doğru mikrofonu kullanıyor.


0

bunu deneyin, üst panelinizdeki hoparlör simgesini, tıklama tercihlerini tıklayın. orada mikrofonunuz için varsayılan bir giriş seçeneği belirleyebilir ve muhtemelen çalışmasını sağlamak için bazı donanım yapılandırmalarını değiştirebilirsiniz.


1
Yardımın için teşekkür ederim, ama şu anda bunu yapıyorum. Ancak, bunu varsayılan ayar yapmak için herhangi bir yol göremiyorum. Arada sırada tekrar yapmam gerekecek çünkü ayar değişecekti.
Gizmoatwork
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.