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的數量不能超過一個以上。