首页 > 解决方案 > Unity 麦克风开始录制时有延迟

问题描述

我正在尝试通过此代码从麦克风录制样本

private bool recording = false;

void Start () {
    Button btnREC = recordButton.GetComponent<Button>();
    btnREC.onClick.AddListener(RecordToggle);

    Button btnPlay = playButton.GetComponent<Button>();
    btnPlay.onClick.AddListener(PlayAudioSource);
}

public void RecordToggle(){
    if (recording) {
        StopRecording ();
    } else {
        StartCoroutine("StartRecording");
    }
}

IEnumerator StartRecording(){
    source.clip = Microphone.Start(null, true, 10, 44100);
    while(!(Microphone.GetPosition(null) > 0)){
        yield return true;
    }
    recording = true;
    recIndicator.SetActive (true);
    StopCoroutine("StartRecording");
}

在 Unity 编辑器中,一切都很好,但在构建中,我在按钮单击和录制开始之间存在延迟(我的 recIndicator 也在延迟之后显示)。如何解决此问题并在单击按钮后立即开始录制?

标签: unity3dmicrophone

解决方案


推荐阅读