示例#1
0
    public sQuestionData(cQuestionData data)
    {
        this.uid      = -1;
        this.question = data.question;
        this.answer   = data.answer;
        this.audio    = data.audio;

        this.RightIndicator = (data.RightIndicator ? 1 : 0);
        this.DoubleJumpLamp = (data.DoubleJumpLamp ? 2 : 0);
        this.HigBeamLight   = (data.HigBeamLight ? 1 : 0);
        this.LeftIndicator  = (data.LeftIndicator ? 1 : 0);
        this.FrontFogLamp   = (data.FrontFogLamp ? 1 : 0);
        this.RearFogLamp    = (data.RearFogLamp ? 1 : 0);
        this.LowBeamLight   = (data.LowBeamLight ? 1 : 0);
        this.ClearAnceLamp  = (data.ClearAnceLamp ? 1 : 0);
        this.LowToHigLight  = (data.LowToHigLight ? 1 : 0);
    }
示例#2
0
    /// <summary>
    /// 转换语音文件
    /// </summary>
    /// <returns>The string2 audio.</returns>
    /// <param name="gameConfig">Game config.</param>
    IEnumerator TurnString2Audio(GameConfig gameConfig)
    {
        List <string> updateList = new List <string>();

        //通用语音检测部分
        //CheckStringToAudio(ConfigDataMgr.ExamStartTip, updateList);
        //CheckStringToAudio(ConfigDataMgr.ExamEnd.question, updateList);
        //试题语音检测部分
        //for (int i = 0; i < gameConfig.questions.Count; i++)
        //{
        //    QuestionData questionData = gameConfig.questions[i];
        //    CheckStringToAudio(questionData.question, updateList);
        //}
        foreach (var item in gameConfig.questions)
        {
            cQuestionData questionData = item.Value;
            CheckStringToAudio(questionData.question, updateList);
        }

        for (int i = 0; i < updateList.Count; i++)
        {
            //设置转换进度
            uiLoginWindow.SetProgress((float)i / updateList.Count);
            yield return(StartCoroutine(ttsString2Audio.Synthesis(updateList[i], result =>
            {
                if (result.Success)
                {
                    Debug.LogFormat("Trun Success:{0}", updateList[i]);
                    string fileName = System.Guid.NewGuid().ToString("N");
                    ResourcesMgr.Instance.WriteAudioFile(fileName, result.data);
                    ConfigDataMgr.Instance.resourceDict.Add(updateList[i], fileName);
                }
                else
                {
                    Debug.LogErrorFormat("Error:Str2Audio errorno<{0}> errormsg<{1}>", result.err_no, result.err_msg);
                }
            })));
        }
        uiLoginWindow.SetProgress(1.0f);
    }
示例#3
0
    /// <summary>
    /// 下载试题的语音
    /// </summary>
    /// <returns>The question audio.</returns>
    /// <param name="gameConfig">Game config.</param>
    IEnumerator LoadQuestionAudio(GameConfig gameConfig)
    {
        List <string> updateList = new List <string>();

        //检查开始灯光考试的语音需要更新
        if (!ConfigDataMgr.Instance.resourceDict.ContainsKey(gameConfig.examtip_old.exam_audio))
        {
            updateList.Add(gameConfig.examtip_old.exam_audio);
        }
        //检查开始灯光考试的语音需要更新
        if (!ConfigDataMgr.Instance.resourceDict.ContainsKey(gameConfig.examtip_new.exam_audio))
        {
            updateList.Add(gameConfig.examtip_new.exam_audio);
        }
        //检查试题的语音是否需要更新
        foreach (var item in gameConfig.questions)
        {
            cQuestionData questionData = item.Value;
            if (!ConfigDataMgr.Instance.resourceDict.ContainsKey(questionData.audio))
            {
                updateList.Add(questionData.audio);
            }
        }
        for (int i = 0; i < updateList.Count; i++)
        {
            //设置转换进度
            uiLoginWindow.SetProgress((float)i / updateList.Count);
            yield return(RequestNetworkFile(updateList[i], (result, content, data) =>
            {
                if (result)
                {
                    string fileName = System.Guid.NewGuid().ToString("N");
                    ResourcesMgr.Instance.WriteAudioFile(fileName, data);
                    ConfigDataMgr.Instance.resourceDict.Add(updateList[i], fileName);
                }
            }));
        }
        uiLoginWindow.SetProgress(1.0f);
    }