Example #1
0
    // ---------------------------------------------------------------------------- //
    //  対話テキストを受信した時に呼ばれるメソッド
    //
    //  登録例 : Speak.Instance().SetOnTextOut(OnTextOut);
    //  引数(string) : JSON形式の対話テキスト情報
    // ---------------------------------------------------------------------------- //
    public void OnTextOut(string text)
    {
        var    speechMetaData = OnTextOutJson.CreateFromJSON(text);
        string voiceText      = "";

        voiceText = MetaFindVoiceText(speechMetaData);
        if (!String.IsNullOrEmpty(voiceText))
        {
            Debug.Log("voice text :" + voiceText);
        }
    }
    // ---------------------------------------------------------------------------- //
    //  対話テキストを受信した時に呼ばれるメソッド
    //
    //  登録例 : Speak.Instance().SetOnTextOut(OnTextOut);
    //  引数(string) : JSON形式の対話テキスト情報
    // ---------------------------------------------------------------------------- //
    public void OnTextOut(string metaText)
    {
        // スクロールビューにテキストを表示する
        // 発話内容
        var    speechMetaData = OnTextOutJson.CreateFromJSON(metaText);
        string viewText       = "";

        viewText = MetaFindVoiceText(speechMetaData);
        if (!String.IsNullOrEmpty(viewText))
        {
            LogView(viewText);
        }
    }
    // ---------------------------------------------------------------------------- //
    // JsonデータからTextを取得
    // ---------------------------------------------------------------------------- //

    private string MetaFindVoiceText(OnTextOutJson speechrec)
    {
        if (speechrec.sentences != null)
        {
            foreach (OnTextOutJson.Sentence sentence in speechrec.sentences)
            {
                if (!String.IsNullOrEmpty(sentence.converter_result))
                {
                    return(sentence.converter_result);
                }
            }
        }
        return(null);
    }