音频 – Unity声音没有播放

我正试着播放声音,但它没有播放

这是我的代码:

public void Replay()
{
  playAudio ();
  Application.LoadLevel (Application.loadedLevel);
}

void playAudio()
{
    AudioSource audio = GetComponent<AudioSource> ();

    audio.Play();
}

单击一个按钮时,我正在调用Replay().但是,声音没有播放.

如果我注释了Application.LoadLevel(Application.loadedLevel);,声音会正常播放.

我应该怎么做才能使用Application.LoadLevel()播放声音?

最佳答案 播放声音的AudioSource将在有时间完成之前被删除.

这是使用yield等待声音完成的替代解决方案.

public void Replay()
{
    StartCoroutine("ReplayRoutine");
}

IEnumerator ReplayRoutine()
{
    AudioSource audio = GetComponent<AudioSource>();

    audio.Play();
    yield return new WaitForSeconds(audio.clip.length);

    Application.LoadLevel(Application.loadedLevel);
}
点赞