无法在Raspberry Jessie上设置默认的输入和输出音频设备


12

我在此描述面临着类似的问题的问题。但是,我在Raspberry Pi上运行Jessie,它没有/etc/modprobe.d/alsa-base.conf文件。

有人可以告诉我在Jessie上设置默认输入和输出音频设备的位置和方法。


您可以尝试创建该文件。我不知道是否由于与设备树有关的原因而将其删除,如果是的话,是否会有所不同。只要它们以结尾,它们的实际名称就无所谓了(除了确定它们的读取顺序之外).conf。这才是最重要的。
goldilocks

好的,我将创建它,但是随后的内容将是一样的。我应该只添加一行“ options snd-usb-audio index = 0”吗?
Parth Doshi 2015年

我认为这里有两条建议,即和options snd_bcm2835 index=1
goldilocks

嗨,我尝试添加相同的内容,但默认设置仅为snd_bcm2835。我还进行了重新启动
Parth Doshi 2015年

将其保留在那里,如果您不使用任何设备树(例如I2C),请尝试添加device_tree=(后面没有任何东西)/boot/config.txt以禁用它,然后再次重新启动。如果那行不通,您最好从该行中删除该行,config.txt以免日后忘记。
goldilocks

Answers:


9

好的,首先删除文件/etc/modprobe.d/alsa-base.confRaspbian Jessie不像Wheezy那样使用此配置文件。

要查找设备使用的地址,您需要首先输入以下命令,aplay -l该命令显示所有音频输出设备及其地址。例如,我的USB声卡作为设备1出现在输出中,如下所示。

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

现在,要将设备设置为默认卡,您将需要/usr/share/alsa/alsa.conf使用命令sudo nano /usr/share/alsa/alsa.conf向下滚动编辑文件,直到找到以下行

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

并将它们更改为(如果您的设备也被列为设备1,如果未将1更改为设备在其上列出的地址)

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

说明:USB声卡已在Raspbian Jessie上注册为卡1。在Wheezy上,默认情况下它们将被注册为卡-2,而编辑/etc/modprobe.d/alsa-base.conf将对其进行更改。

我不知道下一步是否有必要,但没有它,我的卡将无法工作。

~/.asoundrc使用命令创建和编辑文件sudo nano ~/.asoundrc并对其进行更改,以使其仅读取以下内容:

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

现在您的默认音频输出(扬声器)和音频输入(麦克风)就是您的USB设备。


@ParthDoshi我编辑了问题,以防您不使用USB声卡。
帕特里克·库克

感谢Patrick的快速回复。我会检查并告知您。我将USB麦克风用作输入,将音频扬声器用作输出。我的扬声器通过3.5毫米音频插孔连接。
Parth Doshi 2015年

@ParthDoshi,所以您的扬声器使用的是pi上的标准声卡?
帕特里克·库克

是的,他们正在使用标准声卡。我通过运行扬声器测试命令进行了测试...我能够在我的PI上播放一个示例mp3文件,我可以通过扬声器清晰地听到它。唯一的问题是到目前为止的麦克风
Parth Doshi

好的,那么您无需更改这些文件中的任何一行,我现在正在确定哪一行。
帕特里克·库克

4

问题是指向另一篇已经有答案的帖子,该帖子仅说明使用Jessie无需编辑/usr/share/alsa/alsa.conf,只需创建~/.asoundrc并输入

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

PS:我刚刚在与Logitech Z-5扬声器相连的raspberry 2上进行了干净安装,对其进行了测试,效果很好


3

如果您有用于输入和输出的其他设备(例如USB mikrophone和3.5mm音频扬声器),则可以在〜/ .asoundrc中将其编写为:

pcm.!default {
  type asym
  playback.pcm
  {
    type hw
    card 0
    device 0
  }
  capture.pcm
  {
    type hw
    card 1
    device 0
  }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.