如何在Unity的代码中按名称添加和播放简短的audioClip? 我从互联网上测试了很多样本,但是任何人都没有工作。
AudioSource audio = gameObject.AddComponent<AudioSource>();
audio.Play((AudioClip)Resources.Load("clip1"));
到第二行:
资产/资源/ ClickAction.cs(14,55):错误CS1525:意外符号“&#39;
答案 0 :(得分:1)
AudioSource.Play()
不会将AudioClip
作为参数。
AudioSource.PlayOneShot()
。 Pawel除了在答案中没有提供代码示例外,还谈到了这一点。
这就是播放原型的样子:
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();
答案 1 :(得分:0)
这是什么意思“不起作用”?我现在没有安装Unity,但查看文档似乎应该使用PlayOneShot而不是Play: https://docs.unity3d.com/ScriptReference/AudioSource.PlayOneShot.html