unity 2017.3 原生錄音

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章