Có ai biết làm thế nào để thay đổi ưu tiên khởi động card âm thanh?
Tất cả các hướng dẫn đều bảo tôi chỉnh sửa /etc/modprobe.d/alsa-base.conf
, nhưng tập tin bị thiếu trong Raspbian Jesse .
Có ai biết làm thế nào để thay đổi ưu tiên khởi động card âm thanh?
Tất cả các hướng dẫn đều bảo tôi chỉnh sửa /etc/modprobe.d/alsa-base.conf
, nhưng tập tin bị thiếu trong Raspbian Jesse .
Câu trả lời:
Các tập tin bạn đang tìm kiếm nằm ở /usr/share/alsa/alsa.conf
. Nó không được gọi alsa-base.conf
làalsa.conf
Tất cả văn bản có liên quan trong tệp đó chỉ cần chạy sudo nano /usr/share/alsa/alsa.conf
thay đổi card âm thanh mặc định thành 1 hoặc bất cứ thứ gì bạn thích rõ ràng là 0 mặc định vì vậy không phải là tôi cũng đã xóa # khỏi dòng có ghi ... load card-specific configuration files
(theo yêu cầu) và bây giờ tôi có âm thanh phát ra từ thẻ âm thanh cirrus của tôi đang chạy debian 8 jessie trên ras pi2
Điều này làm việc cho tôi trên Raspbian Jessie.
Nếu bạn không cần chip âm thanh trên bo mạch (tức là đầu ra analog hoặc âm thanh hdmi), hãy tắt nó và sau đó thiết bị âm thanh USB có thể trở thành thiết bị chính:
/etc/modprobe.d/raspi-blacklist.conf
và thêm blacklist snd_bcm2835
./lib/modprobe.d/aliases.conf
và nhận xét ra dòngoptions snd-usb-audio index=-2
sudo reboot
$ aplay /usr/share/sounds/alsa/Front_Center.wav
/usr/share/alsa/alsa.conf
và thay đổi nó để nói cả hai default.ctl.card 1
và default.pcm.card 1
- sau đó, hãy khởi động lại và thử alsa -l
chỉ xem USB hiển thị và đó là thẻ số 1. Tôi đã cài đặt mplayer
để thử nghiệm và nó là tuyệt vời. Họ đã khóa câu hỏi này để trả lời vì vậy đây là.
alsamixer
cách đưa vào danh sách đen bcm2835. Tôi đã tìm kiếm cao và thấp và chỉ có câu trả lời của bạn có mảnh ghép cuối cùng. TNX MCH
Tôi đã gặp vấn đề với điều này trên các phiên bản gần đây của Raspbian (Jessie).
Có một tập tin được gọi aliases.conf
trong /lib/modprobe.d
đó có chứa dòng options snd-usb-audio index=-2
. Dòng đó ghi đè lên các /etc/modprobe.d/
tệp, vì vậy bạn cần thay đổi tệp đó. Nhận xét với # dòngoptions snd-usb-audio index=-2
Trong /usr/share/alsa/alsa.conf
tôi chưa nhận xét các tệp cấu hình dành riêng cho thẻ tải (theo yêu cầu), và tôi cũng thay thế nội dung .asoundrc
là một tệp ẩn trong thư mục nhà của bạn bằng:
pcm.!default plughw:Device
ctl.!default plughw:Device
Nhược điểm của giải pháp này là applet âm thanh máy tính để bàn sẽ không xuất hiện. Vì vậy, để kiểm soát âm lượng, hãy sử dụng alsamixer
ứng dụng hoặc các nút mức âm thanh vật lý trên khóa âm thanh USB.
Tài liệu tham khảo cho việc này:
Phương pháp được mô tả ở đây tại Raspberry Pi StackExchange làm việc cho tôi. Tôi đang chạy Raspian Jessie.
Thông tin mới là tôi phải tạo một .conf
tệp mới và không chỉnh sửa /usr/share/alsa/alsa.conf
:
Để sắp xếp lại các thẻ của mình, trước tiên tôi tạo một tệp có tên
/etc/modprobe.d/alsa base.conf.
Nó có thể được đặt tên bất cứ thứ gì bạn muốn miễn là nó kết thúc bằng .conf. Sau đó tôi đã thêm vào như sau:
# This sets the index value of the cards but doesn't reorder.
options snd_usb_audio index=0
options snd_bcm2835 index=1
# Does the reordering.
options snd slots=snd_usb_audio,snd_bcm2835
Tôi không hài lòng với các câu trả lời trước đó đưa ra một số hướng dẫn mơ hồ, vì vậy tôi đoán rằng tôi sẽ ghi lại một giải pháp rõ ràng hơn.
Một bài đăng tốt ở đây cho thấy cách kiểm tra thiết bị và thẻ nào bạn đang tìm cách sử dụng.
Tìm số thiết bị phần cứng và số thẻ của bạn bằng cách sử dụng aplay -l
trước và sau khi cắm thiết bị usb của bạn vào.
Đối với hệ thống của tôi, thiết bị usb được liệt kê là card 1: CODEC [USB Audio CODEC], device 0 ...
Bạn có thể xác nhận thiết bị đang hoạt động với
aplay -D hw:1,0 InsertYourWavFileHere.wav
Đảm bảo sao chép tệp âm thanh wav hợp lệ vào thư mục hiện tại của bạn và đổi tên một cách thích hợp. Nếu điều này hoạt động, thì bạn có thể mã hóa các giá trị này sao cho chúng sẽ trở thành mặc định cho phát trong số tất cả các âm thanh khác được xử lý bởi alsa (hầu hết các trường hợp)
Để chỉnh sửa giá trị mặc định của bạn, tập tin cấu hình alsa như những người khác đã nêu:
sudo nano /usr/share/alsa/alsa.conf
Các dòng cụ thể bạn sẽ muốn thay đổi là một vài trang. Bạn có thể tìm kiếm với Cntl + W hoặc chỉ cần cuộn xuống.
Thay đổi:
defaults.pcm.card 0
defaults.pcm.device 0
Đến:
defaults.pcm.card 1
defaults.pcm.device 0
Lưu tệp cấu hình bằng cách nhấn control + x, sau đó nano sẽ yêu cầu bạn xác nhận các chỉnh sửa của mình và bạn nhấn Y và Enter.
aplay
lệnh để xác nhận thiết bị đang hoạt động không? Nó không đủ tốt để chỉ định một tệp âm thanh wav hợp lệ theo tên hiện tại và đường dẫn đầy đủ của nó?
InsertYourWavFileHere.wav
nhưng điều này có thể dễ dàng được thay thế bằng ./audio/test.wav
nếu bạn có tệp wav trong thư mục con âm thanh có tên test.wav chẳng hạn. Nếu đó là trường hợp, thì aplay -D hw:1,0 ./audio/test.wav
cũng nên làm việc như vậy.
Sau khi thay đổi alsa.conf ( defaults.ctl.card 1
defaults.pcm.card 1
) và ( load card-specific configuration files (on request)
), bạn phải sửa đổi tệp asoundrc của mình và đặt vào:
pcm.!default { type hw card 0 }
pcm.default.card 1.
Sẽ ổn thôi
Tôi đã đưa ra một bài viết đầy đủ ở đây bao gồm tất cả những điều trên và nhiều hơn nữa. Bao gồm xóa một số hiểu lầm và cạm bẫy trong các tệp cấu hình ALSA.
Điều cần thiết có liên quan là vô hiệu hóa mô-đun âm thanh Broadcom được gọi snd_bcm2835
và đảm bảo rằng chỉ snd_usb_audio
được tải nắm tay và duy nhất. Điều này có thể được thực hiện theo một trong hai cách.
/boot/config.txt
tập tinSau đó đặt cấu hình ALSA của bạn để trỏ đến snd_usb_audio
chỉ mục.