Exemplo n.º 1
0
 // 并发可能会出现问题?
 void IStore.saveMomentEvent(MomentEvent e)
 {
     lock (this)
     {
         momentSW.WriteLine(e.toJsonString());
         momentSW.Flush();
     }
 }
Exemplo n.º 2
0
        public static MomentEvent createMomentEvent(string sid, int videoTime, MomentEventType type)
        {
            CustomTime time = new CustomTime()
            {
                absTS = CustomTime.ConvertDateTimeToTimeStamp(DateTime.Now), videoTS = videoTime
            };
            MomentEvent e = null;

            switch (type)
            {
            case MomentEventType.PLAY:
                e = new PlayEvent(sid, time);
                break;

            case MomentEventType.PAUSE:
                e = new PauseEvent(sid, time);
                break;

            case MomentEventType.STOP:
                e = new StopEvent(sid, time);
                break;

            case MomentEventType.FULL_SCREEN_ENTER:
                e = new FullScreenEnterEvent(sid, time);
                break;

            case MomentEventType.FULL_SCREEN_EXIT:
                e = new FullScreenExitEvent(sid, time);
                break;

            case MomentEventType.PLAY_RATE_CHANGE:
                e = new PlayRateChangeEvent(sid, time);
                break;

            default:
                return(null);
            }
            return(e);
        }