2017-02-16 6 views
0

Unity에서 음성 인식 기능을 사용하려고하는데, 가져 오려고하면 Visual Studio에서이를 인식하지 못합니다.UnityEngine.Windows.Speech를 참조 할 수 없습니다.

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."); 

} 

}

유니티는 KeyWordRecognizer 종류를 참가 :

여기 내 코드입니다. UnityEngine을 가져 오지 않을 것이기 때문에 생각합니다 .Windows.Speech.

unityengine이 반입되지 않는 이유에 대한 아이디어가 있으십니까?

+1

은 (단지 당신이 바로 그 어셈블리를 참조 되세요 'using '을 추가 했습니까?) –

답변

0

KeyWordRecognizer을 사용하려면 맨 위에 UnityEngine.Windows.Speech을 포함시켜야합니다. 당신은 이것을했지만 KeyWordRecognizer은 여전히 ​​인식되지 않습니다.

가능한 문제는 이전 버전의 Unity를 사용하고 있다는 것입니다. KeyWordRecognizer을 사용하려면 Unity 5.4.0 이상이 있어야합니다.

Unity 5.4.0 Release Note

:

윈도우 : UnityEngine.Windows.Speech 에서 음성 인식 API가 추가되었습니다. 이러한 API는 또한, 그것은 API가 추가 된 유니티의 버전을 확인하는 것이 지금 매우 쉽게 모든

에서 지원됩니다. 다음 번에이 문제가 발생하면 참조 정보입니다.

API를 검색하여 찾은 다음 현재 Unity 버전이 될 때까지 버전 번호를 유지하십시오. 550,540,530 추천에 의해 번호가 변경 ....

가능한 :

enter image description here

사용할 수 없음 :

enter image description here

관련 문제