如何在Unity中的代码中按名称添加和播放简短的audioClip?
我从互联网上测试了许多示例,但是任何人都无法正常工作。

    AudioSource audio = gameObject.AddComponent<AudioSource>();
    audio.Play((AudioClip)Resources.Load("clip1"));​

第二行:



c# - 通过代码从“资源”文件夹中添加audioClip-LMLPHP

最佳答案

AudioSource.Play()不将AudioClip作为参数。
AudioSource.PlayOneShot()可以。 Pawel也谈到了这一点,只是他的答案中未提供任何代码示例。

游戏原型(prototype)如下所示:

public void Play();
public void Play(ulong delay);

它们都不以AudioClip作为参数。

因此应该是:
AudioSource audio = gameObject.AddComponent<AudioSource>();
audio.PlayOneShot((AudioClip)Resources.Load("clip1"));

您仍然可以使用问题中的Play()函数,但是在调用AudioSource.clip函数之前,必须先为(AudioClip)Resources.Load("clip1");分配Play()

因此,这也应该起作用:
AudioSource audio = gameObject.AddComponent<AudioSource>();
audio.clip = (AudioClip)Resources.Load("clip1");
audio.Play();

关于c# - 通过代码从“资源”文件夹中添加audioClip,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40568799/

10-11 19:59