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

本文介绍了如何在Android系统中使用命令行工具dumpsys和cat来查看录音进程状态、音频策略和PCM节点信息。同时,通过tinycap和tinymix进行录音与播放操作,并详细解释了这些工具的参数设置,如声卡选择、通道数、采样率等。此外,文章还提到了音频设备的命名规则和tinymix用于调整音频控制的选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令列表

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

### 如何使用 `tinymix` 进行录音配置或操作 `tinymix` 是一个用于调试音频路径的工具,主要用于配置音频设备的混音器设置。在录音过程中,需要正确配置音频输入路径、采样率、位宽等参数。以下是关于如何使用 `tinymix` 配置录音的相关信息: #### 1. 配置音频输入路径 在录音之前,需要通过 `tinymix` 设置正确的音频输入路径。例如,如果需要将麦克风作为输入源并连接到扬声器输出,可以执行以下命令: ```bash tinymix "MIC1 Volume" "50" # 设置麦克风增益[^3] tinymix "MIC1 Boost" "1" # 启用麦克风增益提升[^3] tinymix "ADC1->MIC1" "1" # 将麦克风连接到 ADC 输入[^3] ``` #### 2. 检查音频路径配置文件 音频路径的具体配置通常存储在平台相关的 XML 文件中。例如,在 `msm8909` 平台上,可以通过查看以下文件来了解音频路径配置: ```bash cat ./hardware/qcom/audio/configs/msm8909/mixer_paths_msm8909_pm8916.xml ``` 此文件定义了音频输入和输出路径的映射关系,确保配置与实际硬件一致[^2]。 #### 3. 使用 `tinycap` 录制音频 完成音频输入路径配置后,可以使用 `tinycap` 工具录制音频。以下是一个示例命令: ```bash tinycap /sdcard/test.pcm -D 0 -d 0 -c 1 -r 48000 -b 16 -p 768 -n 10 ``` - `-D 0`: 声卡编号为 0。 - `-d 0`: 设备编号为 0。 - `-c 1`: 单声道录音。 - `-r 48000`: 采样率为 48kHz。 - `-b 16`: PCM 数据位宽为 16 位。 - `-p 768`: 每次中断的帧数为 768。 - `-n 10`: 周期数为 10。 #### 4. 调试和验证 为了确保录音功能正常工作,可以结合以下步骤进行调试: - 使用 `tinymix` 验证输入路径是否正确配置。 - 使用 `tinypcminfo` 查看 PCM 音频设备的状态。 - 使用 `tinyplay` 播放录制的音频文件以验证录音质量。 #### 示例代码 以下是一个完整的录音流程示例: ```bash # 配置音频输入路径 tinymix "MIC1 Volume" "50" # 设置麦克风增益[^3] tinymix "MIC1 Boost" "1" # 启用麦克风增益提升[^3] tinymix "ADC1->MIC1" "1" # 将麦克风连接到 ADC 输入 # 录制音频 tinycap /sdcard/test.pcm -D 0 -d 0 -c 1 -r 48000 -b 16 -p 768 -n 10 # 播放录制的音频以验证质量 tinyplay /sdcard/test.pcm -D 0 -d 0 -c 1 -r 48000 -b 16 ``` #### 注意事项 - 确保音频硬件驱动程序已正确加载。 - 根据具体平台调整 `tinymix` 的参数配置。 - 如果录音效果不佳,可以尝试调整麦克风增益或采样率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值