Esempio n. 1
0
        public void fastReverse(bool flag)
        {
            if (this.isPlaying && reverseFlag && !flag)
            {
                lock (EmotionModel.svmFeature)
                {
                    EmotionModel.svmFeature[(int)VideoFeature.REWIND].Value = 0;
                }
                reverseFlag = false;
                EventFactory.finishPeriodEvent(rewindEvent, (int)mPlayer.GetPlayTime());
                storeModule.savePeriodEvent(rewindEvent);
                // for debug
                Console.WriteLine(JsonConvert.SerializeObject(rewindEvent));

                rewindEvent = null;
            }
            else if (this.isPlaying && !reverseFlag && flag)
            {
                lock (EmotionModel.svmFeature)
                {
                    EmotionModel.svmFeature[(int)VideoFeature.REWIND].Value = 1;
                }
                // 创建快退事件
                rewindEvent = (RewindEvent)EventFactory.startPeriodEvent(curSession.SessionID, (int)mPlayer.GetPlayTime(), PeriodEventType.REWIND);
                // for debug
                Console.WriteLine(JsonConvert.SerializeObject(rewindEvent));

                reverseFlag = true;
                Thread t = new Thread(reverse);
                t.Start();
            }
        }