命令列表
功能 | 命令 |
查看当前录音进程状态 | dumpsys media.audio_flinger |
查看当前音频策略状态 | dumpsys media.audio_policy |
查看pcm节点信息 | cat /proc/asound/pcm |
查看声卡信息 | cat /proc/asound/cards |
查看声卡物理设备节点 | ls /dev/snd/ |
驱动层录音命令 | tinycap xx.wav -D 0 -d 1 -c 2 -b 16 -r 16000 -p 640 -n 6 |
mix接口设置,常用于增益和录音开关及切换 | tinymix xxx xxx |
查看当前音频策略
查看当前录音进程状态
主要看Input Thread,可以找到录音参数和进程
查看有哪些音频设备节点
音频设备的命名规则为 [device type]C[card index]D[device index][capture/playback],即名字中含有4部分的信息:
device type
设备类型,通常只有comtrol/pcm这2种。从上图可以看到声卡会管理很多设备,PCM设备只是其中的一种设备。
card index
声卡的id,代表第几块声卡。通常都是0,代表第一块声卡。手机上通常都只有一块声卡。
device index
设备的id,代表这个设备是声卡上的第几个设备。设备的ID只和驱动中配置的DAI link的次序有关。如果驱动没有改变,那么这些ID就是固定的。
capture/playback
只有PCM设备才有这部分,只有c和p两种。c代表capture,说明这是一个提供录音的设备,p代表palyback,说明这是一个提供播放的设备。
查看pcm节点信息
确定当前使用的是哪个声卡
- 使用tinycap对不同的声卡录音
- 每个公司有自己的hal配置文件
查看声卡信息
驱动层命令
系统tinycap相关可执行程序位于/system/bin,有些系统可能没有,需要自己编译后push进去
录音
Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-T capture time]
- -D 哪个声卡的意思, 比如usb声卡, 本机mic …
- -d 当前声卡下的哪个设备录音, 一般一个声卡下会有多个设备
- -c 录音通道数
- -b 采样精度,一般是16bit,但是如果需要标记位就要升高精度,如24bit或32bit
- -r 录音采样率
- -p period size:每个中断周期需要准备的音频空间大小
- -n 有多少组 period size
播放
tinyplay只能播放wav格式的音频文件,用法如下:
Usage: tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]
设置参数
用法:
tinymix [options] [control name/#] [value to set]
options:
--device|-D <card#> - use the given card # instead of 0.
--all-values|-a - show all possible values/ranges for control.
--tabs-only|-t - separate all output columns/values with tabs.
--value-only|-v - show only the value for the selected control
查看pcm通道的相关信息
我们查看上面使用的声卡信息: