예제 #1
0
        protected void InitalizeEvents()
        {
            //Get our event manager for this class
            IntPtr p_event_manager = InteropMethods.libvlc_media_player_event_manager(p_media_player, ref p_ex);

            p_ex.CheckException();
            _EventManager = new VlcEventManager(p_event_manager);

            //Initalize our callback methods
            cbTimeChanged     = new VlcCallback(OnTimeChanged);
            cbStateChanged    = new VlcCallback(OnStateChanged);
            cbPositionChanged = new VlcCallback(OnPositionChanged);
            cbPausableChanged = new VlcCallback(OnPausableChanged);
            cbSeekableChanged = new VlcCallback(OnSeekableChanged);

            //Attach default events
            _EventManager.AttachEvent(VlcEventType.MediaPlayerNothingSpecial, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerOpening, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerBuffering, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerPlaying, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerPaused, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerStopped, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerForward, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerBackward, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerEndReached, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerEncounteredError, cbStateChanged, IntPtr.Zero);
        }
예제 #2
0
 internal void DetachEvent(VlcEventType EventType, VlcCallback Callback, IntPtr UserData)
 {
     InteropMethods.libvlc_event_detach(p_event_manager, EventType, Callback, UserData, ref p_exception);
     p_exception.CheckException();
     _AttachedEvents.Remove(EventType);
 }
예제 #3
0
 internal void DetachEvent(VlcEventType EventType, VlcCallback Callback, IntPtr UserData)
 {
     InteropMethods.libvlc_event_detach(p_event_manager, EventType, Callback, UserData, ref p_exception);
     p_exception.CheckException();
     _AttachedEvents.Remove(EventType);
 }
예제 #4
0
 internal static extern void libvlc_event_detach(IntPtr p_event_manager, VlcEventType i_event_type, VlcCallback f_callback, IntPtr p_user_data, ref libvlc_exception_t p_exception);
예제 #5
0
        protected void InitalizeEvents()
        {
            //Get our event manager for this class
            IntPtr p_event_manager = InteropMethods.libvlc_media_player_event_manager(p_media_player, ref p_ex);
            p_ex.CheckException();
            _EventManager = new VlcEventManager(p_event_manager);

            //Initalize our callback methods
            cbTimeChanged = new VlcCallback(OnTimeChanged);
            cbStateChanged = new VlcCallback(OnStateChanged);
            cbPositionChanged = new VlcCallback(OnPositionChanged);
            cbPausableChanged = new VlcCallback(OnPausableChanged);
            cbSeekableChanged = new VlcCallback(OnSeekableChanged);

            //Attach default events 
            _EventManager.AttachEvent(VlcEventType.MediaPlayerNothingSpecial, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerOpening, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerBuffering, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerPlaying, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerPaused, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerStopped, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerForward, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerBackward, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerEndReached, cbStateChanged, IntPtr.Zero);
            _EventManager.AttachEvent(VlcEventType.MediaPlayerEncounteredError, cbStateChanged, IntPtr.Zero);
        }