public override void EndRecording(RecordingSession session) { if (audioSettings.m_PreserveAudio) { AudioRenderer.Stop(); } }
public override void BeginRecording(RecordingSession session) { m_ChannelCount = new Func <ushort>(() => { switch (AudioSettings.speakerMode) { case AudioSpeakerMode.Mono: return(1); case AudioSpeakerMode.Stereo: return(2); case AudioSpeakerMode.Quad: return(4); case AudioSpeakerMode.Surround: return(5); case AudioSpeakerMode.Mode5point1: return(6); case AudioSpeakerMode.Mode7point1: return(7); case AudioSpeakerMode.Prologic: return(2); default: return(1); } })(); if (Verbose.enabled) { Debug.Log(string.Format( "AudioInput.BeginRecording for capture frame rate {0}", Time.captureFramerate)); } if (audioSettings.m_PreserveAudio) { AudioRenderer.Start(); } }
public override void NewFrameReady(RecordingSession session) { if (!audioSettings.m_PreserveAudio) { return; } var sampleFrameCount = (uint)AudioRenderer.GetSampleCountForCaptureFrame(); if (Verbose.enabled) { Debug.Log(string.Format("AudioInput.NewFrameReady {0} audio sample frames @ {1} ch", sampleFrameCount, m_ChannelCount)); } ushort bufferCount = #if RECORD_AUDIO_MIXERS (ushort)(audioSettings.m_AudioMixerGroups.Length + 1) #else 1 #endif ; m_BufferManager = new BufferManager(bufferCount, sampleFrameCount, m_ChannelCount); var mainBuffer = m_BufferManager.GetBuffer(0); #if RECORD_AUDIO_MIXERS for (int n = 1; n < bufferCount; n++) { var group = audioSettings.m_AudioMixerGroups[n - 1]; if (group.m_MixerGroup == null) { continue; } var buffer = m_BufferManager.GetBuffer(n); AudioRenderer.AddMixerGroupRecorder(group.m_MixerGroup, buffer, group.m_Isolate); } #endif AudioRenderer.Render(mainBuffer); }