Za każdym razem, gdy chcę korzystać ze Skype, muszę wybrać preferencje dźwiękowe. I tam zmień wejście audio na „ kamera internetowa ” i odznacz przycisk „ wycisz ”. To dość denerwujące. Czy istnieje sposób, aby zawsze zachować tę samą konfigurację?
Za każdym razem, gdy chcę korzystać ze Skype, muszę wybrać preferencje dźwiękowe. I tam zmień wejście audio na „ kamera internetowa ” i odznacz przycisk „ wycisz ”. To dość denerwujące. Czy istnieje sposób, aby zawsze zachować tę samą konfigurację?
Odpowiedzi:
Podczas uruchamiania pulseaudio wszystkie ustawienia można zdefiniować, umieszczając niestandardowe pliki konfiguracyjne w ukrytym .pulse
katalogu w HOME. Jeśli te pliki jeszcze nie istnieją, możesz użyć standardowych plików z /etc/pulse/
jako szablonu. Większość wpisów ma pełne wyjaśnienia w tych plikach.
~/.pulse/default.pa
ładować moduły i definiować wartości domyślne~/.pulse/client.conf
skonfigurować klienta dla serwera dźwięku~/.pulse/daemon.conf
do zdefiniowania częstotliwości próbkowania i buforówAby kamera internetowa była domyślnym źródłem, musimy znać nazwę i numer tego źródła, przeglądając listę utworzoną przez następujące polecenie w terminalu:
pacmd list-sources
Następnie edytujemy następujący wiersz w ~/.pulse/default.pa
:
set-default-source [name]
i zamień [name]
na nazwę lub numer źródła dla żądanego źródła. Następnie musimy upewnić się, że źródło nie jest wyciszone, dodając ten wiersz:
set-source-mute [name]|[#n]> 0
Podaj nazwę lub indeks swojego źródła. Możesz dodać wiele innych ustawień, do których odwołuje się Wiki PulseAudio Wiki (teraz na stronie podręcznika :)man pulse-cli-syntax
.
Przed zmianą plików konfiguracyjnych zaleca się przetestowanie wszystkich poleceń za pomocą interfejsu wiersza poleceń. Można to otworzyć za pacmd
pomocą terminala
/etc/pulse/default.pa
. Użyj tego pliku lub skopiuj go ~/.pulse
przed edycją.
pacmd list-sources
. Tak było z moim urządzeniem set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.
Zgadzam się, że problem polega na tym, że Pulseaudio nie ustawia urządzenia USB jako domyślnego, ponieważ nie jest ono obecne, gdy zaczyna się puls.
Więc moim rozwiązaniem jest podłączenie się do systemu, który zauważy, że podłączone jest urządzenie USB ... UDEV!
BTW, te instrukcje są nieco funky i zakładam, że czujesz się komfortowo, robiąc rzeczy w wierszu poleceń i stając się użytkownikiem root, aby zaktualizować pliki udev i umożliwić wykonywanie skryptów.
Pierwszym krokiem jest podłączenie kamery internetowej i znalezienie magicznego sprzedawcy i numeru produktu, pisząc
lsusb
Używam Microsoft Lifecam i pokazuje się jako
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
ważną częścią jest 045e: 072d
Następnie, gdy kamera internetowa jest podłączona, znajdź nazwę urządzenia pulseaudio. Rodzaj
pacmd list-sources
Znowu szukam linii, która się zaczyna, name:
a potem ma coś o Microsoft Lifecam ... oto jest
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
więc nazwa mojego urządzenia pulseaudio będzie alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Następnie stworzyłem nową regułę udev, która jest uruchamiana, gdy zostanie włożone urządzenie USB z dostawcą = 045e i produktem = 072d. Aby utworzyć regułę, utwórz nowy plik o nazwie /etc/udev/rules.d/
COŚ.rules
(nazwałem mój plik /etc/udev/rules.d/95-webcam-mic.rules
).
Umieść tę linię w pliku
SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"
Pamiętaj, aby zastąpić ATTR {idVendor} i ATTR {idProduct} wartościami dla kamery internetowej.
Zasada ta polega na uruchomieniu skryptu w celu ustawienia urządzenia USB do wprowadzania danych, czyli RUN+="/usr/local/bin/webcam-mic"
części.
Krótki czas przeglądu. Za każdym razem, gdy podłączam kamerę internetową, chcę uruchomić polecenie
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Ale polecenie musi działać jako ja (użytkownik uruchamiający pulpit), ale udev działa jako użytkownik root - więc kiedy udev uruchamia moje polecenie, muszę je zmienić na mojego użytkownika, a następnie uruchomić polecenie.
Mamy więc 2 opcje.
Szybko i brudno . Uruchom regułę udev, su james -c pacmd set-default-source...
to źle, bo nie mogę nawet dokończyć wpisywania polecenia. Co się stanie, jeśli zmienisz kamery internetowe? Co jeśli zainstalujesz to dla innego użytkownika?
Nieco czystsze . Uruchom skrypt, który odczytuje domyślny plik, który ma nazwę urządzenia pulseaudio i twoją nazwę użytkownika. Jeśli chcesz, aby pliki były w GitHub. Najpierw skrypt /usr/local/bin/webcam-mic
. Plik domyślny /etc/default/webcam-mic
musi tylko zdefiniować 2 zmienne powłoki, zgodnie z komentarzem w liście. Włóż skrypt /usr/local/bin/
i wykonaj go. Następnie włóż plik domyślny /etc/defaults/
i edytuj go, aby użyć wcześniejszej nazwy użytkownika i urządzenia pulseaudio.
Powodzenia!
Rozwiązanie Takkat nie działało dla mnie, oto moje rozwiązanie dla każdego, kto nadal ma z tym problem.
Z rozwiązaniem Takkat były dla mnie dwa problemy. Po pierwsze, zdałem sobie sprawę, że musi nastąpić opóźnienie po uruchomieniu, zanim nastąpi przełączenie na mikrofon (w poniższym rozwiązaniu używam polecenia „uśpienie”). Ponadto polecenie „set-default-source” działało, aby włączyć mikrofon USB, ale w jakiś sposób Skype nie rozpoznał tego i nadal używał mikrofonu wewnętrznego.
Aby to zadziałało, najpierw warto zainstalować pavucontrol. W pavucontrol otwórz kartę „Konfiguracja” i obserwuj, co dzieje się z poniższymi poleceniami, aby sprawdzić, czy wszystko działa zgodnie z przeznaczeniem.
Następnie z terminala wpisz:
pacmd
Stamtąd wpisz:
list-cards
Na wyjściu znajdź numer indeksu żądanego dźwięku USB (w moim przypadku było to „1”). Następnie spójrz na linie wymienione w sekcji „Profile” zarówno dla karty domyślnej, jak i karty USB. Powinny być takie same jak te wymienione w pavucontrol i mogą być takie jak „ouput: input + output”, „off” lub „input: analog-mono” itp. W wierszu poleceń pacmd polecenie set-card-profile <index number> <profile name>
powinno się zmienić ustawienia w pavucontrol. Chcemy tutaj przełączyć wewnętrzny dźwięk z dupleksu na wyjście, a USB na wejście.
Po znalezieniu odpowiednich profili chcemy utworzyć polecenie uruchamiania, aby zmienić kilka ustawień zaraz po uruchomieniu. Aby utworzyć polecenie uruchamiania, otwórz myślnik i wyszukaj „aplikacje startowe”, następnie kliknij „dodaj”, a następnie wprowadź wybraną nazwę i odpowiednie polecenie poniżej.
Po próbach i błędach moje polecenie startowe wyglądało następująco:
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"
Objaśnienie: Odkryłem, że polecenie „uśpienie” było konieczne, oznacza to, że polecenie zostało wykonane po przerwie, i ustawiłem na 30 sekund (myślę, że może to być mniej, pobaw się z tym). Następnym poleceniem (po „&&”) jest uzyskanie domyślnego (wewnętrznego) profilu karty do przełączania z wejścia + wyjścia (dupleks, który jest domyślny) na tylko wyjście. Następne polecenie dotyczy karty dźwiękowej USB (w moim przypadku liczba to „1”), aby się wyłączyć. Ostatnie polecenie polega na ponownym włączeniu tej samej karty w trybie „wejście: analogowo-mono”
Być może będziesz musiał pobawić się tymi ustawieniami, aby znaleźć to, które działa.
Teraz, kiedy uruchamiam, mój mikrofon USB jest gotowy do użycia po 30 sekundach, a Skype używa właściwego mikrofonu.
spróbuj tego, kliknij ikonę głośnika na górnym panelu, preferencje kliknięcia. tam możesz wybrać domyślną opcję wejścia dla swojego mikrofonu i prawdopodobnie zmienić konfigurację sprzętową, aby działała poprawnie.