2016-12-03 4 views
0

ホロレンスを使い始めたばかりで、マイクロソフトのウェブサイトのチュートリアルの音声認識スクリプトを使いこなしています。私はユニトを使って3Dテキストを作成しています。それが動作しない音声コマンドを使用してテキストを変更してください!ホロレンスのテキストを変更できない

using System.Collections; 
using System.Collections.Generic; 
using System.Linq; 
using UnityEngine; 
using UnityEngine.Windows.Speech; 
using UnityEngine.UI; 

public class VoiceRecognized : MonoBehaviour { 
KeywordRecognizer kr = null; 
Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>(); 

// Use this for initialization 
public Text name_text; 

private string testName = "Drop"; 
void begin() { 

    keywords.Add("Change",() => 
    { 
     this.BroadcastMessage("OnReset"); 

    }); 

    kr = new KeywordRecognizer(keywords.Keys.ToArray()); 

    kr.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized; 
    kr.Start(); 
} 
public void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args) 
{ 
    System.Action keywordAction; 
    if (keywords.TryGetValue(args.text, out keywordAction)) 
    { 
     keywordAction.Invoke(); 
    } 
} 
// Update is called once per frame 
void Update() { 
} 
} 

「変更」を聞いて、テキストを変更し、他のプログラム:

これは私の次のコードです。

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine.UI; 
using UnityEngine; 

public class ChangeText : MonoBehaviour { 
public Text name_text; 


void Start() 
{ 

} 
void OnReset() 
{ 

    name_text.text = "Change"; 
} 
} 

このコードでは、音声認識スクリプトを使用して、最初のテキスト「Hello World」を「Change」に変更しています。私はUnityに問題があるかどうかはわかりませんが、私は現在Microsoftがチュートリアルでやっていることすべてに従っています。

+1

1)音声コマンドが認識されていますか? 2)は 'voiceRecognized'クラスと同じオブジェクトにある' ChangeText'クラスですか? –

+1

ありがとう!変更テキストクラスにありませんでした – marshmellooooooos

+0

beginメソッドはどこに呼び出されていますか? – Everts

答えて

-1

ボタンクリックで同じメソッドを呼び出してみてください。 Debug.Logを使用すると、メソッドが音声コマンドで呼び出されるかどうかを確認できます。

関連する問題