void InitLatencyDetect() { this.detectPlay = new AudioUtil.VoiceLevelDetectCalibrate <float>(playSamplingRate, playChannels); this.detectPlayCorr = new AudioUtil.VoiceLevelDetectCalibrate <short>(playSamplingRate, playChannels); this.detectRec = new AudioUtil.VoiceLevelDetectCalibrate <short>(samplingRate, channels); this.detectPlay.Detector.OnDetected += () => detectTimePlay = clockMs(); this.detectPlayCorr.Detector.OnDetected += () => detectTimePlayDelayed = clockMs(); this.detectRec.Detector.OnDetected += () => detectTimeRec = clockMs(); }
void InitLatencyDetect() { this.detectPlay = new AudioUtil.VoiceLevelDetectCalibrate <float>(playSamplingRate, playChannels); this.detectPlayCorr = new AudioUtil.VoiceLevelDetectCalibrate <short>(playSamplingRate, playChannels); this.detectRec = new AudioUtil.VoiceLevelDetectCalibrate <short>(samplingRate, channels); this.detectPlay.VoiceDetector.OnDetected += () => { if (IsAECLatecnyDetecting) { detectTimePlay = clockMs(); } UnityEngine.Debug.Log("Latency Detect <=== ! Play "); }; this.detectPlayCorr.VoiceDetector.OnDetected += () => { if (IsAECLatecnyDetecting) { detectTimePlayDelayed = clockMs(); } UnityEngine.Debug.Log("Latency Detect <=== ! Play Corr "); }; this.detectRec.VoiceDetector.OnDetected += () => { if (IsAECLatecnyDetecting) { detectTimeRec = clockMs(); this.AECLatencyResult = new AECLatencyResultType() { LatencyRTTMs = IsAECLatecnyDetectingRTT ? (int)(detectTimeRec - beepTime) : 0, LatencyMs = (int)(detectTimeRec - detectTimePlay), LatencyDelayedMs = (int)(detectTimeRec - detectTimePlayDelayed), PlayDetected = detectPlay != null ? detectPlay.VoiceDetector.Detected : false, PlayDelayedDetected = detectPlayCorr != null ? detectPlayCorr.VoiceDetector.Detected : false, RecDetected = detectRec != null ? detectRec.VoiceDetector.Detected : false }; IsAECLatecnyDetecting = false; } UnityEngine.Debug.Log("Latency Detect <===================== ! Rec " + (detectTimeRec - (IsAECLatecnyDetectingRTT ? beepTime : detectTimePlay))); }; }