unity有一个Microphone类负责管理有关麦克风的使用,我们可以借助这个类来完成录音。
首先我们需要获取一下组件:
private AudioSource audioSource; AudioClip clip; void Awake() { audioSource = GetComponent<AudioSource>(); }
拿到了Audio组件之后我们就可以开始录音了:
public void StartRecord() { Microphone.End(null); clip = Microphone.Start(null, true, 999, 44100);//44100音频采样率 固定格式 print("开始录音"); }
1.第一行首先调用End是为了放置存在一个没有被结束的录音存在。
2.null表示搜索默认的麦克风
3.采样率越大录音质量越好,但是文件占用内存也就越多。
录音结束后:
public void StopRecord() { if (Microphone.IsRecording(null)) { Microphone.End(null); audioSource.clip = clip; audioSource.Play(); //print("播放录音"); } else { print("没有录音"); } }
1.首先我们需要调用End来结束此次录音
2.拿到刚刚的录音文件
3.调用Play来播放录音文件
特别需要注意的是,场景中必须要存在一组
Listener的数量不能超过一个以上。