private void InitializeMediaEngine() { _engine = MediaEngineServiceProvider.GetMediaEngine(this); _engine.MediaWindowDisposed += delegate(object sender, EventArgs args) { if (_mediaWindow != null) { _mediaWindow.MessageReceived -= new EventHandler <MessageReceivedEventArgs>(_mediaWindow_MessageReceived); } CreateMediaWindow(); }; _engine.InitSize += (sender, args) => { _rcSrc = args.NewVideSize; _nativeAspectRatio = args.NativeAspectRatio; if (args.Initial) { OnInitSize(new InitSizeEventArgs(new Size(args.NewVideSize.cx, args.NewVideSize.cy))); } ResizeNormal(args.Initial); if (args.InvalidateSuggested) { InvalidateMediaWindow(); } }; }
/// <summary> /// /// </summary> /// <param name="engine">Медиа-движок</param> /// <param name="repeat">Повторять вопроизведение по кругу</param> public MediaPlaylist(IMediaEngine engine, bool repeat) { this.engine = engine; this.repeat = repeat; this.engine.MediaEnded += MediaEndedHandler; }
public MediaController(IMediaEngine mediaEngine) { this.mediaEngine = mediaEngine; this.background = new MediaPlaylist(mediaEngine, true); this.interrupt = new MediaPlaylist(mediaEngine, false); }