73 lines
1.9 KiB
C#
73 lines
1.9 KiB
C#
|
|
using System;
|
|||
|
|
using UnityEngine;
|
|||
|
|
public class ChatAI : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public ChatSetting m_ChatSettings;
|
|||
|
|
public static ChatAI Instance { get; private set; }
|
|||
|
|
Action<string> recordingCallBack;
|
|||
|
|
void Awake()
|
|||
|
|
{
|
|||
|
|
Instance = this;
|
|||
|
|
//DontDestroyOnLoad(this);
|
|||
|
|
}
|
|||
|
|
#region AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public void SendData(string _postWord, Action<string> action = null)
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(_postWord)) return;
|
|||
|
|
m_ChatSettings.m_ChatModel.PostMsg(_postWord, reply => {
|
|||
|
|
action?.Invoke(reply);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
public void StopSend()
|
|||
|
|
{
|
|||
|
|
m_ChatSettings.m_ChatModel.StopMsg();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ʼ¼<CABC><C2BC>
|
|||
|
|
/// </summary>
|
|||
|
|
public void StartRecord()
|
|||
|
|
{
|
|||
|
|
//m_ChatSettings.m_RealtimeSpeechToText?.StopSpeechToText(null);//ֹͣ<CDA3><D6B9>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
m_ChatSettings.m_SpeechToText?.StartSpeechToText(null);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>
|
|||
|
|
/// </summary>
|
|||
|
|
public void StopRecord(Action<string> callBack)
|
|||
|
|
{
|
|||
|
|
m_ChatSettings.m_SpeechToText?.StopSpeechToText(callBack);//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
//m_ChatSettings.m_RealtimeSpeechToText?.StartSpeechToText(recordingCallBack);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ʼʵʱ¼<CAB1><C2BC>
|
|||
|
|
/// </summary>
|
|||
|
|
public void StartRecording(Action<string> callBack)
|
|||
|
|
{
|
|||
|
|
recordingCallBack = callBack;
|
|||
|
|
m_ChatSettings.m_RealtimeSpeechToText.StartSpeechToText(recordingCallBack);
|
|||
|
|
}
|
|||
|
|
public void StopRecording()
|
|||
|
|
{
|
|||
|
|
recordingCallBack = null;
|
|||
|
|
m_ChatSettings.m_RealtimeSpeechToText.StopSpeechToText(null);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD>
|
|||
|
|
public void PlayVoice(string speakText,Action<AudioClip> callBack = null)
|
|||
|
|
{
|
|||
|
|
m_ChatSettings.m_TextToSpeech.StartSpeak(speakText, callBack);
|
|||
|
|
}
|
|||
|
|
public void StopVoice()
|
|||
|
|
{
|
|||
|
|
m_ChatSettings.m_TextToSpeech.StopSpeak();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
}
|