我正在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);
}
}