分享

Android录音时,根据PCM数据获取音量值(单位分贝)

 QomoIT 2018-05-03
2015年12月09日 12:56:36
阅读数:4089

Android录音时,根据PCM数据获取音量值(单位分贝)

采样值为16bit时,根据pcm数据获取分贝,可以按如下方法进行计算

private void calcDecibelLevel(short[] buffer, int readSize) {    double sum = 0;    for (short rawSample : buffer) {        double sample = rawSample / 32768.0;        sum += sample * sample;    }    double rms = Math.sqrt(sum / readSize);    final double db = 20 * Math.log10(rms);    mVolume = (int)db;    Log.e(TAG, "calcDecibelLevel:volume = " + mVolume + ", readSize = " + readSize);}

版权声明:本文为博主原创文章。 https://blog.csdn.net/newnewfeng/article/details/50234769
个人分类: Java Android      

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多