命令列表

功能

命令

查看当前录音进程状态

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,可以找到录音参数和进程

android 查看所有声卡 怎么查看手机声卡_设备节点

查看有哪些音频设备节点

android 查看所有声卡 怎么查看手机声卡_设备节点_02

音频设备的命名规则为 [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节点信息

android 查看所有声卡 怎么查看手机声卡_android_03


android 查看所有声卡 怎么查看手机声卡_进程状态_04

确定当前使用的是哪个声卡

  1. 使用tinycap对不同的声卡录音
  2. 每个公司有自己的hal配置文件

查看声卡信息

android 查看所有声卡 怎么查看手机声卡_进程状态_05

驱动层命令

系统tinycap相关可执行程序位于/system/bin,有些系统可能没有,需要自己编译后push进去

android 查看所有声卡 怎么查看手机声卡_android_06

录音

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

android 查看所有声卡 怎么查看手机声卡_android_07

查看pcm通道的相关信息

我们查看上面使用的声卡信息:

android 查看所有声卡 怎么查看手机声卡_采样率_08