public static void MicrophoneFilterCallback(short[] pcmData, System.UIntPtr pcmDataLength, int frequency, int numChannels) { if (localAvatar != null) { localAvatar.UpdateVoiceData(pcmData, numChannels); } }
public void UpdateVoiceData(short[] pcmData, int numChannels) { if (localAvatar != null) { localAvatar.UpdateVoiceData(pcmData, numChannels); } float voiceMax = 0.0f; float[] floats = new float[pcmData.Length]; for (int n = 0; n < pcmData.Length; n++) { float cur = floats[n] = (float)pcmData[n] / (float)short.MaxValue; if (cur > voiceMax) { voiceMax = cur; } } voiceCurrent = voiceMax; }