通过代码从Resources文件夹添加audioClip

时间:2016-11-12 23:19:13

标签: c# audio unity3d

如何在Unity的代码中按名称添加和播放简短的audioClip? 我从互联网上测试了很多样本​​,但是任何人都没有工作。

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

到第二行:

  

资产/资源/ ClickAction.cs(14,55):错误CS1525:意外符号“&#39;

enter image description here

2 个答案:

答案 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