public void ProcessAudio(float left, float right) { if (!m_isCapturing || !m_isCapturingAudio) { return; } try { // Audio may not be required yet, but buffer the value to avoid dropping samples. m_audioBuffer.Add(left, right); CaptureAudio(); } catch (System.Exception e) { UnityEngine.Debug.LogException(e); } }
void SingleBlockNotificationStreamOnSingleBlockRead(object sender, SingleBlockReadEventArgs e) { // Normalize incoming values. m_SourcePeak = Mathf.Max(m_SourcePeak, e.Left); m_SourcePeak = Mathf.Max(m_SourcePeak, e.Right); float renormalizationMultiplier = 1.0f / m_SourcePeak; renormalizationMultiplier = Mathf.Min(renormalizationMultiplier, m_NormalizationMaxMultiplier); float leftNormalized = e.Left * renormalizationMultiplier; float rightNormalized = e.Right * renormalizationMultiplier; m_HotValues.Add(leftNormalized, rightNormalized); if (VideoRecorderUtils.ActiveVideoRecording != null) { VideoRecorderUtils.ActiveVideoRecording.ProcessAudio(leftNormalized, rightNormalized); } }