コード例 #1
0
    public bool InitA(string vpath, string audioStr, string sourceText)
    {
        jumpFlag = false;
        if (string.IsNullOrWhiteSpace(vpath) || string.IsNullOrWhiteSpace(sourceText))
        {
            jumpFlag = true;
            return(false);
        }
        try
        {
            loadOK = false;
            byte[] bytes = CheakerTools.Base64_Decode(audioStr);

            AudioClip ac = WavUtility.ToAudioClip(bytes, 0, "UserPartA");

            userAS.clip       = ac;
            timeLine.minValue = 0f;
            timeLine.value    = 0f;
            //timeLine.maxValue = ac.length;

            textSource.text         = sourceText;
            video.url               = vpath;
            video.prepareCompleted += OnCompete;
            video.errorReceived    += OnError;

            video.Prepare();


            return(true);
        }
        catch
        {
            return(false);
        }
    }
コード例 #2
0
 IEnumerator GetFullResult()
 {
     DialogLoading dialogLoading= GlobalUIManager.guim.CreateNewLoading();
     GlobalUIManager.guim.CreateNewDialogTie("分析数据下载中...");
     string url = GetPermisson.GetServerAddress + "/Grade/GetFullResult.php?ID="+baseExamId+"&token=" +
         LoginToKaoShi.userLoginCallback.data.token;
     UnityWebRequest uwr = UnityWebRequest.Get(url);
     yield return uwr.SendWebRequest();
     if (uwr.isHttpError || uwr.isNetworkError)
     {
        ReloadTip("获取信息时网络出现异常!是否重试?");
     }
     else
     {
         try
         {
             FullResultData frd = JsonUtility.FromJson<FullResultData>(uwr.downloadHandler.text);
             if (frd.code == 0)
             {
               partAClip=WavUtility.ToAudioClip(CheakerTools.Base64_Decode(frd.data.audioPartA),0,"PartA");
                 fullResultData = frd;
                 // var soe = SOEWork.GetMyGrade(frd.data.audioPartA, frd.data.keywordPartA);
                 if (string.IsNullOrWhiteSpace(frd.data.jsonPartA))
                 {
                     GlobalUIManager.guim.CreateNewSelectBox("当前试卷并未批改,是否立即批改?", delegate(bool ok) {
                         if (ok)
                         {
                             cheakingRequestPoster.GoCheak();
                         }
                         else
                         {
                             SceneManager.LoadScene(1);//退出
                         }
                     
                     });
                 }
                 else
                 {
                     CheakingRespondData.ResultClass resultClass = JsonUtility.FromJson<CheakingRespondData.ResultClass>(frd.data.jsonPartA);
                     analyzeManager.LoadAnalyze(resultClass);
                 }
             }
             else
             {
                 ReloadTip(frd.msg+"是否重试?");
             }
         }
         catch (Exception err)
         {
             ReloadTip("未知异常!是否重试?\n" + err.Message);
             Debug.LogError(err.ToString());
         }
     }
     dialogLoading.DestoryThisLoad();
 }
コード例 #3
0
 public bool InitC(string sourceText, string sourceAudio)
 {
     if (string.IsNullOrWhiteSpace(sourceAudio))
     {
         return(false);
     }
     try
     {
         AudioClip myAudio = WavUtility.ToAudioClip(CheakerTools.Base64_Decode(sourceAudio));
         audioSource.clip     = myAudio;
         audioSlider.maxValue = myAudio.length;
         audioSlider.value    = 0f;
         sourceT.text         = sourceText;
         return(true);
     }
     catch
     {
         return(false);
     }
 }
コード例 #4
0
    public bool InitB(string partBA_Ansers, string partBA_Audios, string partBB_Ansers, string partBB_Audios)
    {
        try
        {
            //  System.Action tempAction = null;
            PaperCheakerCELSTBItemCtrl tempItemCtrl = null;
            if (!string.IsNullOrWhiteSpace(partBA_Ansers) && !string.IsNullOrWhiteSpace(partBA_Audios))//PartA不为空
            {
                string[] partBA_Ansers_strs = partBA_Ansers.Split('/');
                string[] partBA_Audios_strs = partBA_Audios.Split('|');


                // AudioClip[] clips = new AudioClip[partBA_Audios_strs.Length];
                for (int i = 0; i < partBA_Audios_strs.Length; i++)
                {
                    AudioClip clip = WavUtility.ToAudioClip(CheakerTools.Base64_Decode(partBA_Audios_strs[i]), 0, "ParBA_Audio_" + i);
                    PaperCheakerCELSTBItemCtrl pccbic = CommonTools.NewAnObjectA(perfabItemBtn, tarContent).GetComponent <PaperCheakerCELSTBItemCtrl>();
                    if (i < CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBA.Length)
                    {
                        if (CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBA[i] == -1)
                        {
                            pccbic.SetStatus(false);
                            pccbic.nowTitle  = "三问第" + (i + 1).ToString() + "题";
                            pccbic.text.text = pccbic.nowTitle;
                        }
                        else
                        {
                            pccbic.SetStatus(true);
                            pccbic.nowTitle  = "三问第" + (i + 1).ToString() + "题";
                            pccbic.text.text = pccbic.nowTitle + "-" +
                                               CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBA[i].ToString();
                        }



                        pccbic.clip = clip;
                        string anser = "";
                        if (i < partBA_Ansers_strs.Length)
                        {
                            anser = partBA_Ansers_strs[i];
                        }
                        pccbic.tarText = "三问第" + (i + 1).ToString() + "题答案:\n"
                                         + "<Color=Orange>" + anser + "</Color>"
                                         + "\n请依据关键词给分.";
                        pccbic.partName = "A";
                        pccbic.partID   = i;

                        if (tempItemCtrl == null)
                        {
                            tempItemCtrl = pccbic;
                        }
                    }
                    else
                    {
                        GlobalUIManager.guim.CreateNewDialogBox("PartB改卷系统出现异常!");
                    }
                }
            }



            if (!string.IsNullOrWhiteSpace(partBB_Ansers) && !string.IsNullOrWhiteSpace(partBB_Audios))//PartB不为空
            {
                string[] partBB_Ansers_strs = partBB_Ansers.Split('/');
                string[] partBB_Audios_strs = partBB_Audios.Split('|');


                // AudioClip[] clips = new AudioClip[partBB_Audios_strs.Length];
                for (int i = 0; i < partBB_Audios_strs.Length; i++)
                {
                    AudioClip clip = WavUtility.ToAudioClip(CheakerTools.Base64_Decode(partBB_Audios_strs[i]), 0, "ParBB_Audio_" + i);
                    PaperCheakerCELSTBItemCtrl pccbic = CommonTools.NewAnObjectA(perfabItemBtn, tarContent).GetComponent <PaperCheakerCELSTBItemCtrl>();
                    if (i < CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBB.Length)
                    {
                        if (CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBB[i] == -1)
                        {
                            pccbic.SetStatus(false);
                            pccbic.nowTitle  = "五答第" + (i + 1).ToString() + "题";
                            pccbic.text.text = pccbic.nowTitle;
                        }
                        else
                        {
                            pccbic.SetStatus(true);
                            pccbic.nowTitle  = "五答第" + (i + 1).ToString() + "题";
                            pccbic.text.text = pccbic.nowTitle + "-" + CheakerSceneManager.cheakerSceneManager.celstTempPaper.gradeBB[i].ToString();
                        }

                        pccbic.clip = clip;

                        string anser = "";
                        if (i < partBB_Ansers_strs.Length)
                        {
                            anser = partBB_Ansers_strs[i];
                        }
                        pccbic.tarText = "五答第" + (i + 1).ToString() + "题答案:\n"
                                         + "<Color=Orange>" + anser + "</Color>"
                                         + "\n请依据关键词给分.";
                        pccbic.partName = "B";
                        pccbic.partID   = i;

                        if (tempItemCtrl == null)
                        {
                            tempItemCtrl = pccbic;
                        }
                    }
                    else
                    {
                        GlobalUIManager.guim.CreateNewDialogBox("PartB改卷系统出现异常!");
                    }
                }
            }
            tempItemCtrl?.OnClick();
            if (tempItemCtrl != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        catch (System.Exception err)
        {
            Debug.Log(err.ToString());
            return(false);
        }
    }