public VideoPlayerController(IQueryProcessor processor, IPlayQueueStrategy playQueue, IHandleFileStrategy fileStrategy) { this._processor = processor; _observers = new List<IPlayController>(); Queue = new Queue<FileNode>(); this._playQueue = playQueue; _delayStrategy = new FileDelayStrategy(_processor, this); _handleFileStrategy = fileStrategy; AutoPlayList = false; }
public void Handle(FileNode file, IVideoPlayerController controller, IPlayStrategy playStrategy, IQueryProcessor processor, IFileDelayStrategy delay) { var isStatFile = processor.Process(new IsStatFileQuery() { File = file }); var isStatStrategy = playStrategy is PlayerStatPlayStrategy; if (isStatFile) { controller.ShowStats(); delay.StartTimer(); } else if (file.Type == FileType.Picture && isStatStrategy) { delay.StartTimer(); } }