AudioClip recordClip;

void StartRecordMicrophone()
{
	recordClip = Microphone.Start("Built-in Microphone", true, 100, 44100);
}

void StopRecordMicrophone()
{
	int lastTime = Microphone.GetPosition(null);

	if (lastTime == 0)
		return;
	else
	{
		Microphone.End(Microphone.devices[0]);

		float[] samples = new float[recordClip.samples];

		recordClip.GetData(samples, 0);

		float[] cutSamples = new float[lastTime];

		Array.Copy(samples, cutSamples, cutSamples.Length - 1);

		recordClip = AudioClip.Create("Notice", cutSamples.Length, 1, 44100, false);

		recordClip.SetData(cutSamples, 0);
	}
}

 

Microphone.Start으로 하면 길이를 정하고 녹음이 됨

그래서 Microphone.End 했을때 길이까지만 녹음되게 함

혹시 다른 방법있으시면 댓글 남겨주세요.

+ Recent posts