Skip to content
Snippets Groups Projects
Select Git revision
  • 7451646881f8a8c2c88a2f0cc852dc1f6263c901
  • main default protected
  • fixing-controller-assets
  • Begin-scene-generation
  • Startup-UI
  • changing-urp-to-unity-builtin
  • Create-Working-Scene
7 results

AudioCapture.cs

Blame
  • AudioCapture.cs 891 B
    using UnityEngine;
    using System.Collections.Generic;
    
    [RequireComponent(typeof(AudioListener))]
    public class AudioCapture : MonoBehaviour
    {
        private List<float> capturedData = new List<float>();
        public bool isCapturing { get; private set; }
        public int capturedSampleRate { get; private set; }
        public int channelCount { get; private set; }
    
        public void StartCapturing()
        {
            capturedData.Clear();
            isCapturing = true;
            capturedSampleRate = AudioSettings.outputSampleRate;
            channelCount = AudioSettings.speakerMode == AudioSpeakerMode.Mono ? 1 : 2;
        }
    
        private void OnAudioFilterRead(float[] data, int channels)
        {
            if (isCapturing)
            {
                capturedData.AddRange(data);
            }
        }
    
        public float[] StopCapturingAndGetData()
        {
            isCapturing = false;
            return capturedData.ToArray();
        }
    }