如何在Unity中的代码中按名称添加和播放简短的audioClip?
我从互联网上测试了许多示例,但是任何人都无法正常工作。
AudioSource audio = gameObject.AddComponent<AudioSource>();
audio.Play((AudioClip)Resources.Load("clip1"));
第二行:
最佳答案
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/