Skip to content
Snippets Groups Projects
Select Git revision
  • d8067ffca0c144c56dff788a5ee46d8fb0578773
  • master default protected
  • pipeline
  • dev
  • quality
  • docs
  • issue-65
  • issue-30
  • issue-19
  • issue-28
  • 0.1.1
  • 0.1.0
12 results

models.py

  • 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();
        }
    }