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(); }
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; }