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ı?
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ı?
Yanıtlar:
Pulseaudio'yu çalıştırırken tüm ayarlar HOME'unuzdaki gizli .pulse
dizine ö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ımlamakWeb 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
/etc/pulse/default.pa
. ~/.pulse
Düzenlemeden önce bu dosyayı kullanın veya kopyalayın .
pacmd list-sources
. Cihazımla birlikte oldum set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.
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 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
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
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"
.
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.
Ç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?
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-mic
yalnı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!
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.
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.