我有一个非常长的音频剪辑,应该开始播放时,一个特定的条件是满足(第一,如果在下面的代码),并继续播放,直到另一个条件得到满足(第二个如果)。
问题是,我想不出如何使音轨停止播放,我尝试了audio.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;
}
}
}谢谢!
发布于 2016-06-30 18:28:30
我认为问题是因为"PlayClipAtPoint“是一个静态方法,而由于引用错误,stop方法也会出现问题。在读取文档时,它说:“这个函数创建了一个音频源,但是一旦剪辑播放完毕,就会自动处理它。”
这意味着在指定的3D空间中创建一个新的"AudioSource“来播放所请求的音频。这意味着,要么您需要引用新的音频源(不确定您将如何做到这一点),要么使用不同的播放方法。
https://stackoverflow.com/questions/38130612
复制相似问题