ALSA音频架构之声卡设备信息

alsa基础知识

安卓中alsa源码路径:external\tinyalsa\

使用mm编译生成五个小工具和一个so库。

工具生成/system/bin/中:

  • tinycap
  • tinyhostless
  • tinymix
  • tinypcminfo
  • tinyplay

so库生成/system/lib64/中:

  • libtinyalsa.so
1、tinycap

tinycap是一个简易的录音软件,一般用于录音测试。

2、tinymix

查看音频通路相关的各项配置参数,并通过命令修改参数配置。

3、tinyplay

tinyplay是一个简易的音乐播放器,一般用于播放测试

tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]

4、tinypcminfo

tinypcminfo用于查看pcm通道的相关信息

5、tinyhostless

音频设备报错

最近项目中遇到了一个蓝牙和语音同时占用一个录音设备的问题。

报错打印如下:
audio_hw_primary: cannot open pcm_cap: cannot open device ‘/dev/snd/pcmC0D0c’: Device or resource busy

在系统中/dev/snd中去查看:

# ls /dev/snd/ -l
total 0
crw-rw---- 1 system audio 116,   0 2019-04-19 17:50 controlC0
crw-rw---- 1 system audio 116,  32 2019-04-19 17:50 controlC1
crw-rw---- 1 system audio 116,  24 2019-04-19 17:50 pcmC0D0c
crw-rw---- 1 system audio 116,  16 2019-04-19 17:50 pcmC0D0p
crw-rw---- 1 system audio 116,  25 2019-04-19 17:50 pcmC0D1c
crw-rw---- 1 system audio 116,  17 2019-04-19 17:50 pcmC0D1p
crw-rw---- 1 system audio 116,  56 2019-04-19 17:50 pcmC1D0c
crw-rw---- 1 system audio 116,  48 2019-04-19 17:50 pcmC1D0p
crw-rw---- 1 system audio 116,  33 2019-04-19 17:50 timer

可以看到所有的声卡设备:
controlC0,声卡控制设备
pcmC0D0c,录音设备
pcmC0D0p,播放设备
timer,时序

C0D0c,表示Card 0 Device 0,即编号0的声卡下的编号0设备,c代表capture,表示录音设备;p代表playback,表示播放设备。

playback:回放能力描述,如回放设备所支持的声道数、采样率、音频格式;
capture:录制能力描述,如录制设备所支持声道数、采样率、音频格式;

tinymix

通过输入tinymix,来查看音频通路相关的各项配置参数:

# tinymix
Mixer name: 'saf775d-audio'
Number of controls: 22
ctl     type    num     name                                     value

0       INT     2       DAC1 Playback Volume                     -1 -1
1       INT     2       DAC2 Playback Volume                     -1 -1
2       INT     2       DAC3 Playback Volume                     -1 -1
3       INT     2       DAC4 Playback Volume                     -1 -1
4       INT     2       ADC1 Capture Volume                      -1 -1
5       INT     2       ADC2 Capture Volume                      -1 -1
6       BOOL    2       DAC1 Invert Switch                       On On
7       BOOL    2       DAC2 Invert Switch                       On On
8       BOOL    2       DAC3 Invert Switch                       On On
9       BOOL    2       DAC4 Invert Switch                       On On
10      BOOL    2       ADC1 Invert Switch                       On On
11      BOOL    2       ADC2 Invert Switch                       On On
12      BOOL    1       ADC High-Pass Filter Switch              On
13      BOOL    1       DAC De-emphasis Switch                   On
14      ENUM    1       ADC1 Single Ended Mode Switch            (null)
15      ENUM    1       ADC2 Single Ended Mode Switch            (null)
16      INT     1       DAC Single Volume Control Switch         -1
17      ENUM    1       DAC Soft Ramp & Zero Cross Control Switch (null)
18      BOOL    1       DAC Auto Mute Switch                     On
19      BOOL    1       Mute ADC Serial Port Switch              On
20      INT     1       ADC Single Volume Control Switch         -1
21      ENUM    1       ADC Soft Ramp & Zero Cross Control Switch (null)

DAC,Digital-to-analog converter,数模转换器
ADC,Analog-to-digital converter,模数转换器

DAC1 Playback Volume,播放音频控制最大值,对应相应的寄存器,可修改最大音量输出电压;
ADC1 Capture Volume,录音音频最大值,,对应相应的寄存器,可修改最大音量输出电压;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaolin2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值