BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #17309同步于 2014/10/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【问题】android在录音时如何获取录音输入音量

zf1992
2014/10/31镜像同步3 回复
MediaRecord有个getMaxAmplify()通过一堆计算可以输出大致的音量范围,但是用AudioRecord如何实现呢?看网上说用缓冲区的数据做平方和计算之后除以缓冲区大小得到的值,不靠谱啊,顺便问句,能用AudioManager实现么?[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
zf1992机器人#1 · 2014/11/2
居然没人回答。。。[ema1] 【 在 zf1992 的大作中提到: 】 : MediaRecord有个getMaxAmplify()通过一堆计算可以输出大致的音量范围,但是用AudioRecord如何实现呢?看网上说用缓冲区的数据做平方和计算之后除以缓冲区大小得到的值,不靠谱啊,顺便问句,能用AudioManager实现么?
a206206机器人#2 · 2014/11/2
【 在 zf1992 的大作中提到: 】 : 居然没人回答。。。 之前做过。可以通过平方和计算什么的。但是好像要解决一点问题。具体不记得了。代码也丢了。。read有两个函数,一个是byte,一个是short,貌似我用的是。。额。。short读取,然后转换成byte,然后做一些计算。最后得到的值大概是44.。。当结果大于44,就是有人在说话。
zf1992机器人#3 · 2014/11/2
代码丢了。。还想说借鉴看看的。。[ema1] 【 在 a206206 的大作中提到: 】 : : 之前做过。可以通过平方和计算什么的。但是好像要解决一点问题。具体不记得了。代码也丢了。。read有两个函数,一个是byte,一个是short,貌似我用的是。。额。。short读取,然后转换成byte,然后做一些计算。最后得到的值大概是44.。。当结果大于44,就是有人在说话。