前言

开篇

  • 今儿心情好,哈哈哈哈哈😄
  • 今天小黑给大家带来Unity的语音识别功能,超级好用。

Unity版本及使用插件

说到Unity版本,今天太难了,用了两个版本都不行,分别是:
Unity2020.4.4f1Unity5.6.1

正题

  • 之前做一个软件所需要用到的功能,一直没给大家分享呢,今天分享了呀。
  • 今儿直接上脚本了呀,哈哈哈哈哈哈

写脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Windows.Speech;
using UnityTools;

/// <summary> 语音识别 </summary>
public class SpeechRecognition : MonoBehaviour
{
    // 短语识别器
    private PhraseRecognizer m_PhraseRecognizer;
    // 关键字
    public string[] keywords = { "小王小王","XXXXX","XXXXX","XXXXX" };
    // 可信度
    public ConfidenceLevel m_confidenceLevel = ConfidenceLevel.Medium;
    void Start()
    {
        if (m_PhraseRecognizer == null)
        {
            //创建一个识别器
            m_PhraseRecognizer = new KeywordRecognizer(keywords, m_confidenceLevel);
            //通过注册监听的方法
            m_PhraseRecognizer.OnPhraseRecognized += M_PhraseRecognizer_OnPhraseRecognized;
            //开启识别器
            m_PhraseRecognizer.Start();
        }
    }
    /// <summary> 当识别到关键字时,会调用这个方法 </summary>
    private void M_PhraseRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        _SpeechRecognition(args.text);
        print(args.text);
    }
    private void OnDestroy()
    {
        //判断场景中是否存在语音识别器,如果有,释放
        if (m_PhraseRecognizer != null)
            m_PhraseRecognizer.Dispose();
    }
    /// <summary> 识别到语音的操作 </summary>
    void _SpeechRecognition(string msg)
    {
        switch (msg)
        {
            case "小王小王":
                Debuger.Log("我在,你说");
                break;
            case "XXXXX":
                Debuger.Log("XXXXX");
                break;
 
            default:
                break;
        }
    }
}

挂载到游戏场景中

  • 开测

结尾

唠家常

  • 小黑的今日分享结束啦,小伙伴们你们get到了么,你们有没有更好的办法呢,可以评论区留言分享,也可以加小黑的QQ:841298494,大家一起进步。

今日无推荐

程序的道路上学习永不停止,探索随时进行。
Let’s go. Just do it. We can.

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐