moscartong
8/10/2016 - 9:51 AM

Unity To Playback A Microphone Input In Real Time

Unity To Playback A Microphone Input In Real Time

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(AudioSource))]
public class Microphone : MonoBehaviour {

	AudioSource source;

	void Start () {
		if(Microphone.devices.Length > 0) {
			int minFreq, maxFreq, freq;
			Microphone.GetDeviceCaps(null, out minFreq, out maxFreq);
			freq = Mathf.Min(44100, maxFreq);
			
			source = GetComponent<AudioSource>();
			source.clip = Microphone.Start(null, true, 5, freq);
			source.loop = true;

			while(!(Microphone.GetPosition(null) > 0)){}
			source.Play();
		}
		else {
			Debug.Log("No Mic connected!");
		}
	}
}