我有一个非常长的音频片段,应该在满足某个条件时开始播放(下面代码中的第一个IF)并继续播放直到满足另一个条件(第二个IF)。
问题是我无法想象如何让audioclip停止播放,我尝试了audio.Stop()但是它说有Stop()的n定义,你能帮忙吗?
using UnityEngine;
using System.Collections;
public class PowerShutdown: MonoBehaviour {
public AudioClip[] on_sfx;
int i;
int k;
void Start ()
{
k = 1;
}
void Update ()
{
if (PlayLevel1.percentageLoadProductionint < 100 && StateManager.activeState is PlayState && Time.timeSinceLevelLoad > 1 && k== 1)
{
AudioSource.PlayClipAtPoint (on_sfx [0], transform.position);
k = 2;
}
if (PlayLevel1.percentageLoadProductionint > 100 && StateManager.activeState is PlayState && Time.timeSinceLevelLoad > 1 && k == 2)
{
audio.Stop ();
AudioSource.PlayClipAtPoint (on_sfx [1], transform.position);
k = 1;
}
}
}
谢谢!
答案 0 :(得分:0)
我认为这个问题是因为&#34; PlayClipAtPoint&#34;是一种静态方法,由于引用错误,stop方法会出现问题。通过阅读它所说的文档&#34;此功能创建一个音频源,但在剪辑完成播放后自动处理它。&#34;
这意味着一个新的&#34; AudioSource&#34;在指定的3D空间中创建以播放所请求的音频。这意味着,您需要引用新音频源(不确定如何执行此操作),或使用其他播放方法。