// ---------------------------------------------------------------------------- // // // Speak に用意されているコールバック関数の受信側 // // ---------------------------------------------------------------------------- // // ---------------------------------------------------------------------------- // // メタ情報を受信した時に呼ばれるメソッド // // 登録例 : Speak.Instance().SetOnMetaOut(OnMetaOut); // 引数(string) : JSON形式のメタ情報 // ---------------------------------------------------------------------------- // public void OnMetaOut(string metaText) { var metaData = OnMetaOutJson.CreateFromJSON(metaText); // 再生テキスト内容 if (!String.IsNullOrEmpty(metaData.systemText.utterance)) { // スクロールビューにテキストを表示する LogView(metaData.systemText.utterance); } // 再生テキスト取得失敗時の表示内容 else if (!String.IsNullOrEmpty(metaData.systemText.expression)) { // スクロールビューにテキストを表示する LogView(metaData.systemText.expression); } if (metaData.type == "speech_recognition_result") { // 対話の開始 CancelInvoke("AutoStopTask"); Interlocked.Increment(ref mDialogCounter); } else if (String.IsNullOrEmpty(metaData.systemText.utterance)) { if (metaData.type == "nlu_result" && Interlocked.Decrement(ref mDialogCounter) == 0) { // 対話の終了 Invoke("AutoStopTask", TIMEOUT); } } }
// ---------------------------------------------------------------------------- // // // Speak に用意されているコールバック関数の受信側 // // ---------------------------------------------------------------------------- // // ---------------------------------------------------------------------------- // // メタ情報を受信した時に呼ばれるメソッド // // 登録例 : Speak.Instance().SetOnMetaOut(OnMetaOut); // 引数(string) : JSON形式のメタ情報 // ---------------------------------------------------------------------------- // public void OnMetaOut(string text) { var metaData = OnMetaOutJson.CreateFromJSON(text); if (!String.IsNullOrEmpty(metaData.systemText.utterance)) { // システム発話文字列をログに出力 Debug.Log("system text :" + metaData.systemText.utterance); } else { if (metaData.type == "nlu_result" && Interlocked.Decrement(ref mDialogCounter) == 0) { // 対話の終了 Invoke("AutoStopTask", TIMEOUT); } } if (metaData.type == "speech_recognition_result") { // 対話の開始 CancelInvoke("AutoStopTask"); Interlocked.Increment(ref mDialogCounter); } }