static float shortSamplesToPercentVolume(short[] samples) { int min = 32767, max = -32768, n = l(samples); for i to n: { short sample = samples[i]; min = min(min, sample); max = max(max, sample); } ret (float) (100*min(1, max(0, max-min)/65534.0)); }