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的数量不能超过一个以上。


猜你喜欢

转载自blog.csdn.net/testiness_wind/article/details/79457576