private void MyVideoView_Completion(object sender, EventArgs e) { //if (!switchingmedia) //{ try { switch (playbackmode) { case EditVideoView.PLAYBACK_MODE.TRIM_CLIP: mp?.SeekTo(InPoint); break; case EditVideoView.PLAYBACK_MODE.PLAY_EDIT: mediaisprepared = false; OnEndofVideo?.Invoke(); break; case EditVideoView.PLAYBACK_MODE.PREVIEW: mp?.SeekTo(0); mp?.Start(); break; } } catch { //do nothing... } //} }
private void Poschecker_Elapsed(object sender, ElapsedEventArgs e) { TitlePosition += 200; if (mediaisprepared && mp.IsPlaying && mp.CurrentPosition > OutPoint) { switch (playbackmode) { case EditVideoView.PLAYBACK_MODE.TRIM_CLIP: mp.Pause(); mp.SeekTo(InPoint); mp.Start(); break; case EditVideoView.PLAYBACK_MODE.PLAY_EDIT: Post(() => { mediaisprepared = false; OnEndofVideo?.Invoke(); }); break; case EditVideoView.PLAYBACK_MODE.PREVIEW: mp.Pause(); mp.SeekTo(0); mp.Start(); break; } } else if (IsTitle && TitlePosition > OutPoint && playbackmode == EditVideoView.PLAYBACK_MODE.PLAY_EDIT) { Post(() => { TitlePosition = 0; mediaisprepared = false; OnEndofVideo?.Invoke(); }); } }