Ejemplo n.º 1
0
    private void FlyWord(AudioObject audio = null)
    {
        m_Timer  = 0;
        m_Status = TutorialStatus.CheckSound;

        if (LanguageManager.languageType == LanguageType.Chinese)
        {
            VoiceController.instance.CreateWord("Hello", 5f);
        }
        else
        {
            VoiceController.instance.CreateWord("你好", 5f);
        }

        XunFeiSRManager.Instance.StartListen(GetSRCallback);
        MicManager.Instance.StartRecord(FlyStar, SoundWaveCh);
        VoiceController.Start_RecordingAnim();
    }
Ejemplo n.º 2
0
    public void GetVoiceCheckSentence(List <string> list, Action <float> callback)
    {
        m_VoiceCompleteCallback = callback;
        m_VoiceCheckFinished    = false;

        m_CurrentReadingData = new PlayerReadingData();
        StringBuilder standardAnswer = new StringBuilder();

        for (int i = 0; i < list.Count; i++)
        {
            standardAnswer.Append(list[i] + " ");
        }
        m_CurrentReadingData.standardAnswer = standardAnswer.ToString();


        StringBuilder sb = new StringBuilder();

        m_CurVoiceCheckList.Clear();
        for (int i = 0; i < list.Count; i++)
        {
            if (LanguageManager.languageType == LanguageType.Chinese)
            {
                if (list[i].Contains(" "))
                {
                    string[] words = list[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    for (int j = 0; j < words.Length; j++)
                    {
                        m_CurVoiceCheckList.Add(words[j].ToLower());
                        sb.Append(words[j].ToLower() + " ");
                    }
                }
                else
                {
                    m_CurVoiceCheckList.Add(list[i].ToLower());
                    sb.Append(list[i].ToLower() + " ");
                }
            }
            else
            {
                string content = list[i];

                //有些高亮文字带()需要先去除
                if (content.Contains("("))
                {
                    while (content.Contains("("))
                    {
                        content = content.Remove(content.IndexOf('('), 1);
                    }
                }
                if (content.Contains(")"))
                {
                    while (content.Contains(")"))
                    {
                        content = content.Remove(content.IndexOf(')'), 1);
                    }
                }

                //LogManager.LogError("GetVoiceCheckSentence,context length: " , content.Length);

                for (int j = 0; j < content.Length; ++j)
                {
                    m_CurVoiceCheckList.Add(content[j].ToString());
                }
            }
        }

        //LogManager.Log(" 普通 , Boss模式 检查语音:" , sb.ToString() ,"  / " , Time.frameCount);
        VoiceController.Start_RecordingAnim();
        m_VoiceCheckNumber = m_CurVoiceCheckList.Count;
    }