zoukankan      html  css  js  c++  java
  • 录音 静音检测

    在语言传输中,如果每次都把数据包发送影响流量,可以再发送前对数据包进行静音检测,如果是静音就不发送
    原理 :检测数据是否都在一个范围内,统计不在范围内的数据量,就算百分比,如果打印某个指定的比例就认识是静音

    //适合8位音频
    function TWaveIn.DetectSilence(Data: PByte; DataLen: DWORD): Boolean;
    const
    THRESHOLD:DWORD =10;//范围
    HITPERCENT:DWORD=85;//错误率
    var
    i:Integer;
    dwHit:DWORD;
    begin
    dwHit:=0;
    for i:=0 to DataLen-1 do
    begin
    if  (Data^ <=THRESHOLD ) or ((Data^ >= (255-THRESHOLD) ))  then
    begin
    Inc(dwHit);
    end;
    Inc(Data);
    end;
    if (dwHit *100 ) >=(HITPERCENT *DataLen) then
    Result:=True
    else
    Result:=False;
    end;
  • 相关阅读:
    Java8-Stream-No.10
    Java8-Stream-No.09
    Java8-Stream-No.08
    Java8-Stream-No.07
    Java8-Stream-No.06
    Java8-Stream-No.05
    Java8-Stream-No.04
    Java8-Stream-No.03
    Java8-Stream-No.02
    Java8-Stream-No.01
  • 原文地址:https://www.cnblogs.com/myitm/p/2161026.html
Copyright © 2011-2022 走看看