// 并发可能会出现问题? void IStore.saveMomentEvent(MomentEvent e) { lock (this) { momentSW.WriteLine(e.toJsonString()); momentSW.Flush(); } }
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); }