ios通过PCM计算声音分贝大小

来源:互联网 发布:数据库原理 pdf 编辑:程序博客网 时间:2024/05/16 01:27

直接上代码了,初略计算正确


-(BOOL)isQuite:(NSData *)pcmData{    if (pcmData == nil)    {        return NO;    }        long long pcmAllLenght = 0;        short butterByte[pcmData.length/2];    memcpy(butterByte, pcmData.bytes, pcmData.length);//frame_size * sizeof(short)        // 将 buffer 内容取出,进行平方和运算    for (int i = 0; i < pcmData.length/2; i++)    {        pcmAllLenght += butterByte[i] * butterByte[i];    }    // 平方和除以数据总长度,得到音量大小。    double mean = pcmAllLenght / (double)pcmData.length;    double volume =10*log10(mean);//volume为分贝数大小        if (volume >= 45) //45分贝    {        //在说话            }        return yes;}




0 0
原创粉丝点击