Không thể đặt thiết bị âm thanh đầu vào và đầu ra mặc định trên Raspberry jessie


12

Tôi đang đối mặt với một vấn đề tương tự như được mô tả trong câu hỏi này . Tuy nhiên tôi đang chạy Jessie trên Raspberry Pi và nó không có /etc/modprobe.d/alsa-base.conftệp.

Vì vậy, ai đó có thể cho tôi biết vị trí và cách đặt thiết bị âm thanh đầu vào và đầu ra mặc định trên Jessie.


Bạn chỉ có thể thử tạo tập tin đó; Tôi không biết liệu nó có bị xóa vì có liên quan đến cây thiết bị hay không và liệu điều đó có làm thay đổi gì không. Những gì chúng được gọi thực sự không quan trọng (ngoài việc xác định thứ tự chúng được đọc), miễn là chúng kết thúc .conf. Đó là những gì trong họ có giá trị.
goldilocks

ok tôi sẽ tạo ra nó nhưng sau đó những gì nội dung sẽ giống nhau. Tôi có nên thêm chỉ một dòng "tùy chọn snd-usb-audio index = 0" ??
Parth Doshi

Tôi nghĩ có hai dòng gợi ý ở đó, đó là một và options snd_bcm2835 index=1.
goldilocks

Xin chào, tôi đã cố gắng thêm tương tự nhưng vẫn mặc định là snd_bcm2835. Tôi cũng đã khởi động lại
Parth Doshi

Để nó ở đó và nếu bạn không sử dụng cây thiết bị cho bất cứ điều gì (ví dụ I2C), hãy thử thêm device_tree=(không có gì sau nó) /boot/config.txtđể vô hiệu hóa nó, sau đó khởi động lại. Nếu điều đó không hiệu quả, bạn cũng có thể xóa dòng config.txtđó để không quên sau này.
goldilocks

Câu trả lời:


9

Ok, trước tiên hãy xóa tệp /etc/modprobe.d/alsa-base.confRaspbian Jessie không sử dụng tệp cấu hình này như Wheezy đã làm.

Để tìm địa chỉ mà thiết bị của bạn sử dụng, trước tiên bạn cần nhập lệnh aplay -lnày, hiển thị tất cả các thiết bị đầu ra âm thanh và địa chỉ của chúng. Ví dụ, thẻ âm thanh USB của tôi xuất hiện dưới dạng thiết bị 1 ở đầu ra trông như thế này.

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

Bây giờ, để đặt thiết bị về thẻ mặc định, bạn sẽ cần chỉnh sửa tệp /usr/share/alsa/alsa.confbằng lệnh sudo nano /usr/share/alsa/alsa.confcuộn xuống cho đến khi bạn tìm thấy các dòng

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

và thay đổi chúng thành (nếu thiết bị của bạn cũng được liệt kê là thiết bị 1, nếu không thay đổi 1 thành bất kỳ địa chỉ nào được liệt kê tại)

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

Giải thích: Thẻ âm thanh USB được đăng ký là thẻ 1 trên Raspbian Jessie. Trên Wheezy, họ sẽ được đăng ký làm thẻ -2 theo mặc định và chỉnh sửa /etc/modprobe.d/alsa-base.confsẽ thay đổi điều đó.

Tôi không biết bước tiếp theo này có cần thiết không nhưng nếu không có nó, thẻ của tôi sẽ không hoạt động.

Tạo và chỉnh sửa tệp ~/.asoundrcbằng cách sử dụng lệnh sudo nano ~/.asoundrcvà thay đổi tệp để nó chỉ đọc phần này:

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

Bây giờ âm thanh mặc định của bạn (loa) và âm thanh trong (mic) là thiết bị usb của bạn.


@ParthDoshi Tôi đã chỉnh sửa câu hỏi, trong trường hợp bạn không sử dụng thẻ âm thanh USB.
Patrick Cook

cảm ơn Patrick đã trả lời nhanh Tôi sẽ kiểm tra điều này và cho bạn biết. Tôi đang sử dụng mic USB làm đầu vào và loa âm thanh làm đầu ra. Loa của tôi được kết nối qua giắc âm thanh 3,5 mm.
Parth Doshi

@ParthDoshi vậy loa của bạn đang sử dụng card âm thanh tiêu chuẩn trên pi?
Patrick Cook

vâng họ đang sử dụng card âm thanh tiêu chuẩn. Tôi đã thực hiện kiểm tra bằng cách chạy lệnh kiểm tra loa ... Tôi có thể phát tệp mp3 mẫu trên PI của mình mà tôi có thể nghe rõ qua loa của mình, Vấn đề duy nhất là mic bây giờ
Parth Doshi

Ok, sau đó bạn không cần thay đổi một trong các dòng trong các tệp đó, tôi đang tìm ra dòng nào ngay bây giờ.
Patrick Cook

4

Câu hỏi đang đề cập đến một bài đăng khác đã có câu trả lời đơn giản chỉ ra rằng với Jessie không cần chỉnh sửa /usr/share/alsa/alsa.conf, chỉ cần tạo ~/.asoundrcvà nhập

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

PS: Tôi vừa thử nghiệm nó với một bản cài đặt sạch trên raspberry 2 được kết nối với loa Logitech Z-5, hoạt động hoàn hảo


3

Nếu bạn có một thiết bị khác cho đầu vào và đầu ra (ví dụ: usb mikrophone và loa âm thanh 3,5mm), bạn có thể viết nó như thế này trong ~ / .asoundrc:

pcm.!default {
  type asym
  playback.pcm
  {
    type hw
    card 0
    device 0
  }
  capture.pcm
  {
    type hw
    card 1
    device 0
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.