示例#1
0
        private void ResetFromMediaCore(Control ctrl)
        {
            VideoHostControlHandle = IntPtr.Zero;
            var mediaInstance = GetMedia().MediaInstance;

            if (ctrl != null)
            {
                ctrl.GetType().GetMethod("RecreateHandle", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(ctrl, null);
            }
            _myMediaPlayerInstance.Pointer = IntPtr.Zero;
            _myMediaPlayerInstance         = Manager.CreateMediaPlayerFromMedia(mediaInstance);
            RegisterEvents();
            if (ctrl != null)
            {
                VideoHostControlHandle = ctrl.Handle;
                Chapters  = new ChapterManagement(Manager, _myMediaPlayerInstance);
                SubTitles = new SubTitlesManagement(Manager, _myMediaPlayerInstance);
                Video     = new VideoManagement(Manager, _myMediaPlayerInstance);
                Audio     = new AudioManagement(Manager, _myMediaPlayerInstance);
            }
        }
示例#2
0
        internal VlcMediaPlayer(VlcManager manager)
        {
            Manager = manager;
            // SUR: Configure VLC options at startup
            Manager.CreateNewInstance(new string[]
            {
#if DEBUG_TODO
                "--extraintf=logger",
                "--verbose=2",
#else
                "--quiet",
#endif
                //"--play-and-pause",   // NOTE: SUR: Pauses at end of video
            });

            _myMediaPlayerInstance = manager.CreateMediaPlayer();
            RegisterEvents();
            Chapters  = new ChapterManagement(manager, _myMediaPlayerInstance);
            SubTitles = new SubTitlesManagement(manager, _myMediaPlayerInstance);
            Video     = new VideoManagement(manager, _myMediaPlayerInstance);
            Audio     = new AudioManagement(manager, _myMediaPlayerInstance);
        }
 public void ReturnVideo(Video video)
 {
     VideoManagement.ReturnVideo(video);
 }