停止另一个脚本的音频剪辑
本文关键字:音频 脚本 另一个 | 更新日期: 2023-09-27 18:07:17
我需要停止一个audioclip,它将从一个空的gameobject
播放,有一个脚本附加到它。
附加的脚本将播放音乐,附加到另一个gameobject
的另一个脚本将停止它。
我怎样才能做到这一点?
我可以使用audiosource代替,但是如果我这样做了,我如何从附加到第二个gameobject
的第二个脚本调用audio.stop()
呢?
你所需要做的就是从GameObject B中访问GameObject A中的脚本,并调用一个方法来停止播放剪辑。
例子将AudioPlayer.cs附加到GameObject A
public class AudioPlayer : Monobehaviour {
public static AudioSource instance;
private AudioSource audioSource;
void Awake () {
instance = this;
audioSource = GetComponent<AudioSource>();
}
public void PlayClip () {
//Assumption is that you've assigned the audio clip to this source in the inspector
audioSource.Play();
}
public void StopClip () {
audioSource.Stop();
}
}
将AudioController.cs附加到GameObject B
public class AudioController : Monobehaviour {
void OnGUI () {
if(GUI.Button(new Rect(10, 10, 150, 50), "Play Clip"))
AudioPlayer.instance.PlayClip();
if(GUI.Button(new Rect(10, 70, 150, 50), "Stop Clip"))
AudioPlayer.instance.StopClip();
}
}