2016-11-12 58 views
0

從Resources文件夾添加audioClip如何在Unity的代碼中通過名稱添加和播放短音頻剪輯? 我測試了很多來自互聯網的樣本,但任何人都無法使用。通過代碼

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

下聯:

資產/資源/ ClickAction.cs(14,55):錯誤CS1525:意外的符號`」

enter image description here

+0

所以,這應該嗎?是資源文件夾中的音頻文件。音頻文件位於何處? – Programmer

+0

是的,它在Resources中。但我真的不知道如何修改 – Quicki

+0

你想上傳一個文件夾結構的圖片和音頻文件的名稱?這將幫助我弄清楚什麼是錯的。 – Programmer

回答

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()功能,但必須先調用Play()函數之前分配AudioSource.clip(AudioClip)Resources.Load("clip1");。你爲什麼要使用`Resources.Load`

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

這很完美!非常感謝您的幫助和解釋:) – Quicki

+0

歡迎您! – Programmer