如何在统一中循环播放音频?



我正在Unity上编写一个游戏项目,却因无法在主菜单中无限播放音频而绊倒。

问题是该曲目只播放一次(停留在菜单中(,当我需要它重复直到播放器离开菜单时。

这是我启用音乐的代码部分。我为此使用AudioClip和AudioSource。

public AudioClip menu;
private AudioSource audio;
void Start() {
...
audio = GetComponent<AudioSource>();
audio.loop = true;
audio.PlayOneShot(menu);
...
}
public AudioClip menu;
private AudioSource audioSource;
void Start()
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = menu;
audioSource.loop = true;
audioSource.Play();
}

如果您在编辑器的音频源组件中选中循环选项,它应该可以工作。如果没有,你搞砸了。还有另一种方法,你可以像这样循环。

private AudioSource audio;
void Start()
{
StartCoroutine(LoopAudio());
}
IEnumerator LoopAudio()
{
audio = GetComponent<AudioSource>();
float length = audio.clip.length;
while(true)
{
audio.Play();
yield return new WaitForSeconds(length);
}
}

相关内容

  • 没有找到相关文章

最新更新