我正试着播放声音,但它没有播放
这是我的代码:
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);
}