Nie można ustawić domyślnego wejściowego i wyjściowego urządzenia audio w Raspberry jessie

12

Mam do czynienia z podobnym problemem opisanym w tym pytaniu . Jednak korzystam z Jessie na Raspberry Pi i że nie ma /etc/modprobe.d/alsa-base.confpliku.

Czy ktoś może mi powiedzieć, gdzie i jak ustawić domyślne urządzenie wejściowe i wyjściowe audio w Jessie.

Parth Doshi
źródło
Możesz po prostu spróbować utworzyć ten plik; Nie wiem, czy został usunięty z powodu czegoś związanego z drzewem urządzeń, a jeśli tak, to czy to coś zmieni. To, co nazywa się tak naprawdę, nie ma znaczenia (poza określeniem kolejności, w jakiej są czytane), o ile kończą .conf. Liczy się to, co w nich jest.
złotowłosy
ok, stworzę to, ale co będzie zawartość tego samego. Czy powinienem dodać tylko jedną linię "options snd-usb-audio index = 0" ??
Parth Doshi,
Myślę, że sugerowane są tam dwie linie, jedna i options snd_bcm2835 index=1.
złotowłosy
Cześć, próbowałem dodać to samo, ale nadal domyślną wartością jest tylko snd_bcm2835. Zrobiłem też restart
Parth Doshi
Zostaw to i jeśli nie używasz drzewa urządzeń do niczego (np. I2C), spróbuj dodać device_tree=(bez niczego po nim), /boot/config.txtaby je wyłączyć, a następnie uruchom ponownie. Jeśli to nie zadziała, równie dobrze możesz usunąć tę linię, config.txtaby nie zapomnieć później.
złotowłosy

Odpowiedzi:

9

Ok, najpierw usuń plik /etc/modprobe.d/alsa-base.confRaspbian Jessie nie używa tego pliku konfiguracyjnego, jak zrobił to Wheezy.

Aby znaleźć adres, którego używa twoje urządzenie, musisz najpierw wpisać polecenie, które aplay -lpokazuje wszystkie urządzenia wyjściowe audio i ich adres. Na przykład moja karta dźwiękowa USB pojawia się jako urządzenie 1 na wyjściu, które wygląda tak.

card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Teraz, aby ustawić urządzenie na domyślną kartę, musisz edytować plik /usr/share/alsa/alsa.confpoleceniem sudo nano /usr/share/alsa/alsa.confprzewiń w dół, aż znajdziesz linie

defaults.ctl.card 0
defaults.pcm.card 0

i zmień je na (jeśli twoje urządzenie jest również wymienione jako urządzenie 1, jeśli nie, zmień 1 na dowolny adres podany na liście)

defaults.ctl.card 1
defaults.pcm.card 1

Objaśnienie: Karty dźwiękowe USB są zarejestrowane jako karta 1 w Raspbian Jessie. W Wheezy byłyby domyślnie zarejestrowane jako karta -2 i edycja /etc/modprobe.d/alsa-base.confby to zmieniła.

Nie wiem, czy ten następny krok jest konieczny, ale bez niego moja karta nie działałaby.

Utwórz i edytuj plik ~/.asoundrcza pomocą polecenia sudo nano ~/.asoundrci zmień go tak, aby czytał tylko:

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

Teraz domyślne wyjście audio (głośniki) i wejście audio (mikrofon) są urządzeniem USB.

Patrick Cook
źródło
@ParthDoshi Zredagowałem pytanie, na wypadek gdybyś nie używał karty dźwiękowej USB.
Patrick Cook
dzięki Patrick za szybką odpowiedź. Sprawdzę to i dam znać. Używam mikrofonu USB jako wejścia i głośników audio jako wyjścia. Moje głośniki są podłączone przez gniazdo audio 3,5 mm.
Parth Doshi,
@ParthDoshi, więc głośniki używają standardowej karty dźwiękowej na pi?
Patrick Cook
tak, używają standardowej karty dźwiękowej. Zrobiłem test, uruchamiając polecenie testowania głośników ... Jestem w stanie odtworzyć przykładowy plik mp3 na moim PI, który wyraźnie słyszę przez głośniki, Jedynym problemem jest mikrofon na razie
Parth Doshi
Ok, więc nie musisz zmieniać jednej z linii w tych plikach, zastanawiam się, która z nich jest teraz.
Patrick Cook
4

Pytanie odnosi się do innego postu, który ma już odpowiedź, która po prostu stwierdza, że ​​w Jessie nie ma potrzeby edycji /usr/share/alsa/alsa.conf, wystarczy utworzyć ~/.asoundrci wpisać

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

PS: Właśnie przetestowałem to z czystą instalacją na malinie 2 połączonej z głośnikami Logitech Z-5, działa idealnie

Edoardo
źródło
3

Jeśli masz inne urządzenie wejściowe i wyjściowe (np. Mikrofon USB i głośnik audio 3,5 mm), możesz zapisać to w ten sposób w ~ / .asoundrc:

pcm.!default {
  type asym
  playback.pcm
  {
    type hw
    card 0
    device 0
  }
  capture.pcm
  {
    type hw
    card 1
    device 0
  }
}
CodingVoid
źródło