Android党都应该玩过一个叫吹裙子的游戏,这个游戏就是原理就是通过监听用户吹出的气的力度来决定如何把MM的裙子弄飞起来的,所以关键在于如何判断用户吹气的力度问题。现在公司刚好有这个需求要评估就是需要一直监听用户的语音输入,当在两秒内没有语音输入时候就暂停某项事情,有语音输入的时候就要继续做某件事。其实这两件事情的本质原理是一样的,就是通过这AudioRecord来处理用户输入的原始音频数据,从而计算出当前用户输入的音量大小来判断用户是否有语音输入。下面贴上一段代码用户可以自行研究。
public static int calculateVolume(byte[] var0, int var1) {
int[] var3 = null;
int var4 = var0.length;
int var2;
if(var1 == 8) {
var3 = new int[var4];
for(var2 = 0; var2 < var4; ++var2) {
var3[var2] = var0[var2];
}
} else if(var1 == 16) {