首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置不同的ALSA默认值,以便通过一个设备捕获,通过另一个设备播放?

如何配置不同的ALSA默认值,以便通过一个设备捕获,通过另一个设备播放?
EN

Stack Overflow用户
提问于 2016-03-26 18:34:33
回答 1查看 7.3K关注 0票数 7

我正在寻找一些帮助,在配置Raspberry Pi的音频,因为我所有的谷歌努力已经失败了!

我的设置:

  • 树莓PI 3(运行Debian Jessie)
  • USB WebCam (罗技),我用它来捕捉音频
  • 3.5mm音频插孔的外部扬声器,用于回放

到目前为止,我已经成功地将ALSA配置为,默认情况下,通过USB网络摄像头捕获并通过3.5mm插孔播放。例如,以下功能运行良好:

代码语言:javascript
复制
# Capture from Webcam
arecord test.wav

# Playback through 3.5mm jack
aplay test.wav

默认情况下,这将捕获8位,8 8KHz,Mono的音频。但是,我希望默认的捕获过程使用16位,16 the,Mono设置,这就是我被困的地方。

下面是我的工作~/.asoundrc文件:

代码语言:javascript
复制
pcm.!default {

        type asym

        playback.pcm {
                type hw
                card 1
                device 0
        }

        capture.pcm {
                type plug
                slave {
                        pcm {
                                type hw
                                card 0
                                device 0
                        }
                }
        }
}

还有我的/etc/modprobe.d/alsa-base.conf

代码语言:javascript
复制
options snd_usb_audio index=0
options snd_bcm2835 index=1

options snd slots=snd-usb-audio,snd-bcm2835

cat /etc/asound/cards的输出

代码语言:javascript
复制
 0 [U0x46d0x825    ]: USB-Audio - USB Device 0x46d:0x825
                      USB Device 0x46d:0x825 at usb-3f980000.usb-1.4, high speed
 1 [ALSA           ]: bcm2835 - bcm2835 ALSA
                      bcm2835 ALSA

我按照各种指南设置了formatratechannels属性,但没有成功。例如,这不起作用:

代码语言:javascript
复制
pcm.!default {

        type asym

        playback.pcm {
                type hw
                card 1
                device 0
        }

        capture.pcm {
                type plug
                slave {
                        pcm {
                                type hw
                                card 0
                                device 0
                        }
                        format S16_LE
                        rate 16000
                        channels 1
                }
        }
}

(我也尝试过在pcm块中移动这些属性,这是许多绝望尝试中的一次!)

事实上,我根本没有在Linux上使用音频的经验,我完全迷失了方向,任何指导都会受到极大的赞赏!

EN

回答 1

Stack Overflow用户

发布于 2016-03-27 07:24:47

aplay使用该文件的任何样例格式,但arecord创建了一个新文件,因此,如果不想使用愚蠢的默认值,则必须指定示例格式:

代码语言:javascript
复制
arecord -f S16_LE -r 16000 -c 1 test.wav
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36239212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档