Unity判断AudioSource当前音频播放完毕的代码是什么,用C#
时间: 2024-12-16 10:24:31 浏览: 46
在Unity中,你可以通过监听`AudioClip`的`OnComplete`事件来检测AudioSource当前音频播放是否完毕。以下是使用C#编写的示例代码:
```csharp
using UnityEngine;
using UnityEngine.Audio;
public class AudioPlayer : MonoBehaviour
{
public AudioSource audioSource;
void Start()
{
audioSource.clip = // 设置你要播放的音频剪辑;
audioSource.Play();
// 添加一个委托函数来处理播放完毕
audioSource.onCompletion.AddListener(OnAudioCompleted);
}
private void OnAudioCompleted()
{
Debug.Log("音频播放完毕");
// 如果你想在此处做进一步的操作,比如更换音轨或者暂停游戏,可以在这里添加代码
// 清除监听事件以避免内存泄漏
audioSource.onCompletion.RemoveAllListeners();
}
}
```
在这个例子中,当你创建`AudioPlayer`脚本并将其挂载到包含AudioSource的游戏对象上,一旦音频播放结束,就会触发`OnAudioCompleted`方法,并在控制台打印一条消息。
阅读全文