我有一個非常長的音頻剪輯,當某個條件滿足時(第一個IF在下面的代碼中)應該開始播放,並繼續播放,直到滿足另一個條件(第二個IF)。停止音頻剪輯/音頻素材
問題是我無法計算如何使audioclip停止播放,我嘗試了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;
}
}
}
謝謝!
您需要在音頻源上調用「Stop」。最好不要使用「PlayClipAtPoint」(請參閱NewDeveloper的答案),而是使用另一個播放函數和附帶音頻源的gamobject。 –
Unity告訴用這個代替GetComponent().Stop(); –
但它不起作用,因爲沒有附加到PowerShutdown對象的Audiosource。 –