【Audio】tinycap命令设置bits为24失败

前言

客户想知道设备mic录制是否支持24bit。
通过tinycap命令先测试一下。

现象

tinycap XXX.wav -c 1 -r 48000 -b 16 -T 3

使用tinycap命令录制,bit为24时,实际使用的是32,其他两个32/16 ok.

在这里插入图片描述

代码查看

pcm 硬件设置

Tinycap使用的是pcm0c
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看起来dai的formats是允许24bit,但同时也可以看出不支持PCM_FORMAT_S24_3LE,这个format很重要。

tinycap中bits数的变化

代码调用流程
在这里插入图片描述
tinycap的main函数中会根据传入bits获取format,而此时只支持PCM_FORMAT_S24_LE。
在这里插入图片描述

pcm_format_to_bits
会根据format获取bit数,此时可以看到format为PCM_FORMAT_S24_LE时,返回的bit数是32。
这就是命令设置bit24时,实际却是32bit的原因。
(中间商赚差价啊)
在这里插入图片描述

小结

tinycap设置24bit,实际使用的是32bit。
分析思路:

  1. pcm硬件参数是否支持
  2. tinycap命令是否有对bit数进行再判断

由于format只支持PCM_FORMAT_S24_LE(PCM中定义,且tinycap的main函数中switch选择),后续根据format取bit时,该PCM_FORMAT_S24_LE会返回32bit。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值