C# Can';t参考UnityEngine.Windows.Speech

C# Can';t参考UnityEngine.Windows.Speech,c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,我试图在Unity中使用语音识别功能,但当我尝试使用它时,Visual Studio无法识别它 这是我的密码: using UnityEngine; using System; using System.Text; using System.Collections; using System.Collections.Generic; using UnityEngine.Windows.Speech; using System.Linq; public class VoiceRecog :

我试图在Unity中使用语音识别功能,但当我尝试使用它时,Visual Studio无法识别它

这是我的密码:

using UnityEngine;
using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

using UnityEngine.Windows.Speech;
using System.Linq;



public class VoiceRecog : MonoBehaviour {

private KeywordRecognizer m_Recognizer;

public KeywordRecognizer keywordRecognizer;
protected Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();

void Start() {
    Debug.Log("In the Start() of VoiceRecog");
    keywords.Add("go", () =>
        {
            GoCalled();
        });
    keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray());
    keywordRecognizer.OnPhraseRecognized += KeywordRecognizerOnPhraseRecognized;
}

void KeywordRecognizerOnPhraseRecognized(PhraseRecognizedEventArgs args) {
    Debug.Log("in 2nd function");
    System.Action keywordAction;

    if (keywords.TryGetValue(args.text, out keywordAction)) {
        keywordAction.Invoke();
    } 
} 

void GoCalled() {
    Debug.Log("You just Said Go.");

}
使用UnityEngine;
使用制度;
使用系统文本;
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine.Windows.Speech;
使用System.Linq;
公共类语音记录:单一行为{
专用关键字识别器m_识别器;
公共关键字识别器关键字识别器;
受保护的字典关键字=新字典();
void Start(){
Log(“在VoiceRecog的Start()中”);
关键词.添加(“go”,()=>
{
GoCalled();
});
关键词识别器=新的关键词识别器(keywords.Keys.ToArray());
keywordRecognizer.onphrasecognized+=关键字识别零短语识别;
}
void关键字recognizezeronphrasererecognized(短语recognizedeventargs args){
Log(“在第二个函数中”);
系统动作关键字动作;
if(关键字.TryGetValue(args.text,out关键字操作)){
关键字action.Invoke();
} 
} 
void GoCalled(){
Log(“你刚才说去吧。”);
}
}

Unity没有采用关键字识别器类型。我想是因为它没有带来UnityEngine.Windows.Speech


有没有关于unityengine为什么没有被引入的想法?

要使用
关键字识别器
,您必须在顶部包含
unityengine.Windows.Speech
。您这样做了,但仍无法识别
关键字识别器

可能的问题是您使用的是旧版本的Unity。要使用
关键字识别器
,您必须在other中使用Unity 5.4.0及以上版本

:

Windows:在下面添加了语音识别API UnityEngine.Windows.Speech。所有应用程序都支持这些API

此外,现在很容易找到添加了哪个版本的Unity API。这是您下次遇到此问题时的参考资料

只需搜索并找到API,然后继续降低版本号,直到您的当前Unity版本。数字变化10,如550540530

可用

不可用


您是否引用了正确的程序集(而不仅仅是使用
添加了
)?