统一-导入一个声音播放在键盘上
本文关键字:播放 声音 键盘 一个 导入 统一 | 更新日期: 2023-09-27 18:09:20
我有以下代码,但我没有得到任何类型的错误和很多谷歌没有提出任何答案
我做错了什么?
public class FirstPage : MonoBehaviour {
public AudioSource mySound;
// Use this for initialization
void Start () {
mySound = Resources.Load("05 - Listen to the Man_[plixid.com]") as AudioSource;
}
void Update () {
if(Input.GetKeyUp(KeyCode.Space)){
mySound.Play();
};
}
}
这可能是因为你试图加载AudioSource而不是AudioClip。
正确的方法是加载音频剪辑,将其分配给音频源,然后使用AudioSource.Play()
播放剪辑public class FirstPage : MonoBehaviour {
public AudioSource mySound;
// Use this for initialization
void Start () {
var audioClip = Resources.Load<AudioClip>("05 - Listen to the Man_[plixid.com]"); //Load the AudioClip from the Resources Folder
mySound.clip = audioClip; //Assign it as AudioSource's clip
}
void Update () {
if(Input.GetKeyUp(KeyCode.Space)){
mySound.Play();
} //Also, I removed the extra semi-colon you had here
}
}
"05 - Listen to the Man_[plixid.com]"是你项目中的资产吗?如果不是,我相信这就是为什么这行不通的原因。我很确定资源。Load只是为了将你现有的资源加载到RAM中,这样当你需要它们的时候它们就准备好了。
我做了一些环顾四周,你可能会发现这个线程很有用,以及这个页面从Unity参考文档。
这里有一个JS示例,应该可以做到这一点。如果你喜欢的话,希望你可以很容易地转换成c#:)
var www = new WWW ("file://" + Application.dataPath.Substring (0, Application.dataPath.LastIndexOf ("/")) + "/result.wav");
AudioClip myAudioClip= www.audioClip;
while (!myAudioClip.isReadyToPlay)
yield return www;
gameObject.GetComponent<AudioSource> ().audio.clip = myAudioClip;
audio.Play ();