如何查看声卡、pcm设备以及tinyplay、tinymix、tinycap的使用

命令列表

功能命令
查看当前录音进程状态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节点信息

在这里插入图片描述
在这里插入图片描述

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

  1. 使用tinycap对不同的声卡录音
  2. 每个公司有自己的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通道的相关信息

我们查看上面使用的声卡信息:
在这里插入图片描述

参考文档

https://blog.csdn.net/luyao3038/article/details/121859072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值