Exemple #1
0
 private void RecordStart()
 {
     if (Input.GetMouseButtonDown(0))
     {
         print("Audio recording started");
         audioClipList.Clear();
         micRecording = true;
         recordStates = RecordStates.recordingInProgress;
     }
 }
Exemple #2
0
    //-->recordStates = RecordStates.recordingInProgress;
    private IEnumerator RecordAudioClipListCoroutine()
    {
        if (micRecording == true)
        {
            audioClipList.Add(micAudioClip);

            //if(finished10Sec)
            //date and time
            print("statuscode 1");
            var timeStart = System.DateTime.Now;
            yield return(new WaitForSeconds(5));

            print("statuscode 2");
            var timeFin = System.DateTime.Now;
            if ((timeFin - timeStart) >= System.TimeSpan.FromMilliseconds(5100) && (timeFin - timeStart) <= System.TimeSpan.FromMilliseconds(5500))
            {
                print("inside the timespan");
                micAudioClip = Microphone.Start(Microphone.devices[0], true, 5, 16000);
                //Microphone.End(Microphone.devices[0]);
                //audioClipList.Add(micAudioClip);

                print(Microphone.devices[0]);

                if (audioClipList[0] != null)
                {
                    print("micAudioClip is not null");
                    audioSource.clip = micAudioClip;
                    audioSource.Play();
                    print("audioclip played");

                    SavWav.Save("suman" + Time.time + ".wav", audioClipList[0], false);//todo
                }
            }

            if (Input.GetMouseButtonDown(1))
            {
                //Microphone.End(Microphone.devices[0]);
                micRecording = false;
                recordStates = RecordStates.recordingsMerge;
                print("Audio recording finshed");
            }
        }
    }
    //-->recordStates = RecordStates.recordingInProgress;
    private IEnumerator RecordAudioClipListCoroutine()
    {
        if (micRecording == true)
        {
            if (a == b)
            {
                micAudioClip = Microphone.Start(Microphone.devices[0], true, 5, 44100);
                b++;
            }
            yield return(new WaitForSeconds(10));

            a++;

            if (a1 == b1)
            {
                Microphone.End(Microphone.devices[0]);
                audioClipList.Add(micAudioClip);

                print(Microphone.devices[0]);

                if (audioClipList[0] != null)
                {
                    print("micAudioClip is not null");
                    audioSource.clip = micAudioClip;
                    print("audioclip played");

                    SavWav.Save("suman" + Time.time + ".wav", audioClipList[0], false);//todo
                }
                b1++;
            }
            a1++;



            if (Input.GetMouseButtonDown(1))
            {
                //Microphone.End(Microphone.devices[0]);
                micRecording = false;
                recordStates = RecordStates.recordingsMerge;
                print("Audio recording finshed");
            }
        }
    }
Exemple #4
0
        public void updateRecordState(RecordStates recordState, int recordId, bool increment = false, string errMsg = "Error text undefined")
        {
            string url = getSettings().updateStateRHURL;

            Dictionary <string, string> requestParams = new Dictionary <string, string>(3);

            requestParams.Add("state", recordState.ToString());
            requestParams.Add("recordId", recordId.ToString());
            requestParams.Add("increment", increment.ToString());

            Int32 updated = getOTCSValue <Int32>(getSettings().updateStateRHURL, requestParams);

            if (updated > 0)
            {
                log.Info("Record with ID = '{0}' state updated to value: '{1}'.", new object[] { recordId, recordState });
            }
            else
            {
                log.Info("Failed to update Record with ID = '{0}' state.", new object[] { recordId });
            }
        }
Exemple #5
0
    //-->recordStates == RecordStates.recordingsMerge
    private void AudioClipListMerge(List <AudioClip> audioClipList)
    {
        var bigFloatList = new List <float>();

        /*var floatLength = 0;
         * foreach (var audioclip in audioClipList)
         * {
         *  floatLength += audioclip.samples * audioclip.channels;
         * }*/
        foreach (var audioclip in audioClipList)
        {
            float[] samples = new float[audioclip.samples * audioclip.channels];
            audioclip.GetData(samples, 0);
            foreach (var v in samples)
            {
                bigFloatList.Add(v);
            }
            audioclip.SetData(samples, 0);
            if (isPrinted2 == false)
            {
                isPrinted2       = true;
                audioSource.clip = audioclip;
                audioSource.Play();
            }
        }
        for (var v = 0; v < 1000; v++)
        {
            print(bigFloatList[v]);
        }
        var bigFloatArray = bigFloatList.ToArray();

        print(bigFloatArray[1000]);

        //AudioClip tempAudioClip;
        audioSource.clip = gameObject.GetComponent <AudioClip>();
        audioSource.clip.SetData(bigFloatArray, 0);
        recordStates = RecordStates.recordingDone;
    }
Exemple #6
0
        /// <summary>
        /// 返回分页数据方法,如果需要按更多条件返回,请重写此方法
        /// </summary>
        /// <param name="id">实体主键</param>
        /// <param name="pageIndex">页码,必需参数,大于0</param>
        /// <param name="pageSize">页大小,必需参数</param>
        /// <param name="queryItem">对象查找条件</param>
        /// <returns>ResultModel 对象,需要参Data进行转换</returns>
        public virtual async Task <GeneralResponseModel <List <TModel> > > QueryAsync(int pageIndex, int pageSize, RecordStates state = RecordStates.AuditPass)
        {
            // 参数检查
            if (pageIndex < 1)
            {
                throw new ArithmeticException("pageIndex参数无效,必需大于0的整数");
            }
            if (pageSize < 1)
            {
                throw new ArithmeticException("pageSize 参数无效,必需大于0的整数");
            }
            using (Db = new TDbContext())
            {
                var items = Db.Set <TModel>().Where(m => true);

                var list = items
                           .OrderByDescending(f => f.CreateDate)
                           .Skip(pageSize * (pageIndex - 1))
                           .Take(pageSize);

                var result = new GeneralResponseModel <List <TModel> >
                {
                    Data       = list.ToList(),
                    TotalCount = await items.CountAsync()
                };

                return(result);
            }
        }
Exemple #7
0
 public RecordResult(Guid recordAppId, RecordStates recordState, string errorMessage = null)
 {
     this.RecordAppId = recordAppId;
     this.RecordState = recordState;
     if(errorMessage != null) this.ErrorMessage = errorMessage;
 }