การ์ด USB เป็นอุปกรณ์เสียงเริ่มต้นของฉัน


32

ฉันซื้อการ์ดเสียง USB ขนาดเล็ก My Pi รู้จักอุปกรณ์:

$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller

หากฉันเรียกใช้alsamixerและตั้งค่าเสียงเป็นUSB PnP Sound Deviceฉันจะได้ยินเสียงผ่านการ์ดเสียง USB หากต้องการให้ถาวรฉันพิมพ์:

$ sudo alsactl store

แต่หลังจากรีบูตค่าเริ่มต้นจะไม่มีการ์ดเสียง USB อีกต่อไป

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นฉันจึงลองดูรายการอุปกรณ์เล่น:

$ aplay -l

    **** List of PLAYBACK Hardware Devices ****
  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: 1/1
  Subdevice #0: subdevice #0

ฉันแก้ไข/etc/asound.confให้มีลักษณะเช่นนี้เพื่อตั้งค่าเริ่มต้น:

$ sudo nano /etc/asound.conf


pcm.!default {
 type hw
 card 1
 device 0
}

ทำrebootและยังคงเป็นค่าเริ่มต้นของฉันไม่ใช่การ์ดเสียง USB

เมื่อฉันลอง:

$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1

ฉันได้ยินเสียงจากการ์ด USB

ฉันยังลองต่อไปนี้:

$ sudo nano /etc/modprobe.d/alsa-base.conf

เปลี่ยนดัชนีจาก -2 เป็น 0:

options snd-usb-audio index=0

รีบูทและยังไม่ได้ตั้งค่าเริ่มต้น ฉันยังแสดงความคิดเห็นในบรรทัดและไม่มีโชค

ดังนั้นฉันจะตั้งการ์ด USB เป็นอุปกรณ์เสียงเริ่มต้นได้อย่างไร

แก้ไข

 dpkg -s pulseaudio

แสดง:

Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Architecture: armhf
Multi-Arch: foreign
Version: 2.0-6
Depends: libasound2 (>= 1.0.24.1), libc6 (>= 2.13-28), libcap2 (>= 2.10), libdbus-1-3 (>= 1.1.1), libfftw3-3, libgcc1 (>= 1:4.4.0), libice6 (>= 1:1.0.0), libltdl7 (>= 2.4.2), liborc-0.4-0 (>= 1:0.4.16), libpulse0 (= 2.0-6), libsamplerate0 (>= 0.1.7), libsm6, libsndfile1 (>= 1.0.20), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 4.1.1), libsystemd-daemon0 (>= 31), libsystemd-login0 (>= 31), libtdb1 (>= 1.2.7+git20101214), libudev0 (>= 146), libwebrtc-audio-processing-0, libx11-6, libx11-xcb1, libxcb1, libxtst6, adduser, lsb-base (>= 3.2-13), consolekit, udev (>= 143), libasound2-plugins
Recommends: pulseaudio-module-x11, gstreamer0.10-pulseaudio, rtkit
Suggests: pulseaudio-utils, pavumeter, pavucontrol, paman, paprefs
Breaks: libltdl3 (<< 1.5.24-1)
Conffiles:
 /etc/init.d/pulseaudio 8580c855e4547e8a3c84dca96d9bbd7e
 /etc/default/pulseaudio ee26e4427d72cf16a59b1a8ce2712c66
 /etc/xdg/autostart/pulseaudio.desktop 5e19ffbe14d21702be1edd3256c4265d
 /etc/xdg/autostart/pulseaudio-kde.desktop fd20c58d32035e908a0866784e4e3511
 /etc/pulse/system.pa 408f6d6119d7afce522ab1b394709134
 /etc/pulse/default.pa a9ac2a96744beae0913865fafd3d2582
 /etc/pulse/daemon.conf 6c9e4c973cabb406beee3ec81c63fcd7
 /etc/dbus-1/system.d/pulseaudio-system.conf 69d56dc5342bf589a2e199541709a452
Description: PulseAudio sound server
 PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
 WIN32 systems. It is a drop in replacement for the ESD sound server with
 much better latency, mixing/re-sampling quality and overall architecture.
 .

แล้ว:

cat /proc/asound/modules

แสดง:

 0 snd_bcm2835
 1 snd_usb_audio

คำถาม ... คุณมี pulseaudio ติดตั้งโดยบังเอิญหรือไม่? วิ่งdpkg -s pulseaudioไปหามันจะพูดอะไรบางอย่างdpkg-query: package 'pulseaudio' is not installed and no information is availableถ้ามันไม่ใช่ คุณสามารถเรียกใช้คำสั่งนั้นและโพสต์ผลลัพธ์ได้หรือไม่
RPiAwesomeness

นอกจากนี้คุณสามารถเรียกใช้cat /proc/asound/modulesและโพสต์ผลลัพธ์ได้หรือไม่
RPiAwesomeness

@RPiAwesomeness - อัปเดตด้วยข้อมูลที่ร้องขอ
PhillyNJ

1
โอเคคุณลองทำสิ่งนี้แล้วoptions snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1หรือยัง? จากสิ่งที่ฉันเห็นคุณแค่เปลี่ยนsnd-usb-audioดัชนีและระบบเปลี่ยนกลับเพราะมันไม่มีสอง (usb และ bcm2835) ที่ดัชนีเดียวกัน
RPiAwesomeness

2
เย้! : D ดีใจที่ได้รับความช่วยเหลือและเราไม่เคยถอนการติดตั้ง pulseaudio! Hurray สำหรับอินเทอร์เน็ต :)
RPiAwesomeness

คำตอบ:


28

ปรากฎว่า OP กำลังคิดไปตามเส้นทางที่ถูกต้องเมื่อเขาพยายาม

$ sudo nano /etc/modprobe.d/alsa-base.conf

และเปลี่ยนดัชนีจาก -2 เป็น 0 โดยการเพิ่มoptions snd-usb-audio index=0ลงในไฟล์ อย่างไรก็ตามนี่ไม่ได้ผล

วิธีที่ถูกต้องที่จะทำคือการเพิ่มตามมาด้วยoptions snd-usb-audio index=0options snd_bcm2835 index=1

สิ่งสำคัญคือการบังคับให้snd_bcm2835ปิดการใช้งานโมดูลเสียงเริ่มต้น ( ) ในขณะที่snd-usb-audioเปิดใช้งานโมดูลเสียง usb ( )

สิ่งที่ฉันเชื่อว่าก่อนหน้านี้เพิ่งเกิดขึ้นด้วยการเพิ่มoptions snd-usb-audio index=0คือsnd-usb-audioโมดูลและสิ่งที่snd_bcm2835ขัดแย้งกันโดยมีการเปิดใช้งานทั้งคู่


ไม่มีปัญหา. ยินดีอีกครั้งที่จะช่วย: D
RPiAwesomeness

หวาน! นี่เป็นการแก้ไขปัญหาสำหรับฉันด้วย ฉันต้องรีบูทหลังจากเปลี่ยน alsa-base.conf, FWIW
Andrew Swan

@AndrewSwan ยินดีต้อนรับ! ดีใจที่ได้ช่วยเหลือ! :)
RPiAwesomeness

14

ด้วย Raspbian Jesse การเปลี่ยนอุปกรณ์เสียงเริ่มต้นนั้นง่ายกว่าที่เคยเป็นมา

ตอนนี้เพียงใช้คำสั่งนี้เพื่อแสดงรายการการ์ดเสียงที่ตรวจพบของคุณและจดบันทึกหมายเลขบัตรของอุปกรณ์ที่คุณต้องการ

aplay -l

จากนั้นสร้าง / แก้ไขไฟล์การกำหนดค่า alsa ที่~/.asoundrcหรือที่ระบบกว้างที่/etc/asound.confและวางบรรทัดเหล่านี้:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

เปลี่ยนcard 0เป็นหมายเลขบัตรของอุปกรณ์เสียงของคุณ

ใช้alsamixerเพื่อตรวจสอบอีกครั้งว่าการตั้งค่าเริ่มต้นถูกต้อง

ที่มา:


1
@Greenonline อีกครั้ง: 'คำถาม' ของฉันเมื่อวานนี้ฉันไม่สามารถเพิ่มคำตอบนี้ได้เมื่อคืนนี้เพราะมันได้รับการปกป้องจากชุมชนและฉันยังไม่มีตัวแทน 10 คน! ขอบคุณสำหรับความคิดเห็นที่เป็นมิตรมันช่วย :)
เซมิโตร

อาโอเค. ขอบคุณ ฉันคิดว่าคำตอบนี้ดูคุ้นเคย ... :-)
Greenonline

คำตอบที่ยอมรับไม่ได้ผลสำหรับฉัน แต่นี่เป็นกลอุบาย! ขอบคุณมาก.
Twiffy

2
สิ่งนี้ไม่ได้ผลสำหรับฉัน แต่ฉันได้รับมันทำงานโดยการเขียนนี้ใน asound.conf "pcm.! เริ่มต้น {type plug slave {pcm" hw: 1,0 "}} ctl!! default {type hw card 1} "จาก: linuxcircle.com/2013/05/08/...
Moulde
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.