通过计算信号的RMS,我在静音检测方面取得了成功.这是通过以下方式完成的(假设您有一个音频样本数组):
long sumOfSquares = 0;
for (int i = startindex; i <= endindex; i++) {
sumOfSquares = sumOfSquares + samples[i] * samples[i];
}
int numberOfSamples = endindex - startindex + 1;
long rms = Math.sqrt(sumOfSquares / (numberOfSamples));
Run Code Online (Sandbox Code Playgroud)
如果rms低于某个阈值,您可以认为它是静默的.