using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Windows.Speech;
public class VoiceRecognitionManager : MonoBehaviour
{
public delegate void MeowAction();
public delegate void HissAction();
public delegate void PurrAction();
public delegate void PauseAction();
public delegate void CootsAction();
private KeywordRecognizer keywordRecognizer;
private Dictionary<string, Action> actions = new Dictionary<string, Action>();
public static event MeowAction OnMeow;
public static event HissAction OnHiss;
public static event PurrAction OnPurr;
public static event PauseAction OnPause;
public static event CootsAction OnCoots;
private void Start()
{
actions.Add("meow", Meow);
actions.Add("meo", Meow);
actions.Add("mehow", Meow);
actions.Add("meyow", Meow);
actions.Add("Hiss", Hiss);
actions.Add("Per", Purr);
actions.Add("Pause Game", Pause);
actions.Add("Coots", Coots);
keywordRecognizer = new KeywordRecognizer(actions.Keys.ToArray(), ConfidenceLevel.Low); /*函数绑定之钥抛入 低信心值*/
keywordRecognizer.OnPhraseRecognized += RecognizedSpeech;
keywordRecognizer.Start();
}
private void RecognizedSpeech(PhraseRecognizedEventArgs speech)
{
Debug.Log(speech.text);
actions[speech.text]();
}
private void Meow()
{
VoiceRecognitionManager.OnMeow();
}
private void Hiss()
{
VoiceRecognitionManager.OnHiss();
}
private void Purr()
{
VoiceRecognitionManager.OnPurr();
}
private void Pause()
{
VoiceRecognitionManager.OnPause();
}
private void Coots()
{
VoiceRecognitionManager.OnCoots();
}
private void Update()
{
}
}
Unity声控游戏实现基础
于 2023-03-08 17:27:29 首次发布