Health/Assets/_VoiceAssistant/Scripts/Assistant/Status_Talking.cs

39 lines
964 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Status_Talking : AssistantStatus
{
public override void EnterState()
{
base.EnterState();
assistant.animController.StartSpeek();
PlayVoice(assistant.clip, assistant.currentTalking);
assistant.EnableVoiceWakeup = true;
assistant.chatBox.SetText("Talking...", assistant.expression);
}
public override void QuitState()
{
base.QuitState();
assistant.audioSource.Stop();
}
public override void Update()
{
if(isActived)
{
if(!assistant.audioSource.isPlaying)
{
assistant.statusManager.MakeTransition(assistant.statusManager.idle);
}
}
}
private void PlayVoice(AudioClip _clip, string _response)
{
assistant.PlayAudioClip(_clip);
Debug.Log("音频时长:" + _clip.length);
}
}