unity3d 如何在Unity中循环播放音频?

xyhw6mcr  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(391)

我在Unity上写了一个游戏项目,由于无法在主菜单中无限播放音频而跌跌撞撞。
问题是,轨道只播放一次(而停留在菜单中),当我需要它是重复的,直到球员离开菜单。
这是我启用音乐的代码部分。我使用AudioClip和AudioSource来实现这一点。

public AudioClip menu;
private AudioSource audio;

void Start() {
        ...
        audio = GetComponent<AudioSource>();
        audio.loop = true;
        audio.PlayOneShot(menu);
        ...
}
h6my8fg2

h6my8fg21#

public AudioClip menu;
private AudioSource audioSource;

void Start()
{
    audioSource = GetComponent<AudioSource>();
    audioSource.clip = menu;
    audioSource.loop = true;
    audioSource.Play();
}
omvjsjqw

omvjsjqw2#

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

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);
        }
    }

相关问题