Example #1
0
        private void InitEvents()
        {
            VlcContext.HandleManager.EventManagerHandles[this] = VlcContext.InteropManager.MediaPlayerInterops.EventManagerNewIntance.Invoke(VlcContext.HandleManager.MediaPlayerHandles[this]);

            myEventCallback       = OnVlcEvent;
            myEventCallbackHandle = GCHandle.Alloc(myEventCallback);

            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerBackward, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerBuffering, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerEncounteredError, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerEndReached, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerForward, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerLengthChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerMediaChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerOpening, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPausableChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPaused, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPlaying, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPositionChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerSeekableChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerSnapshotTaken, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerStopped, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerTimeChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerTitleChanged, myEventCallback, IntPtr.Zero);
        }
Example #2
0
        public void Initialize()
        {
            VlcContext.LibVlcDllsPath = getVlcLibPath();
            //VlcContext.LibVlcDllsPath = @"C:\Program Files (x86)\VideoLAN\VLC";
            VlcContext.LibVlcPluginsPath = getVlcPluginsPath();
            //VlcContext.LibVlcPluginsPath = @"C:\Program Files (x86)\VideoLAN\VLC\plugins";

            var loggingEnabled = Convert.ToBoolean(ConfigurationManager.AppSettings["LoggingEnabled"]);
            VlcContext.StartupOptions.IgnoreConfig = true;
            VlcContext.StartupOptions.LogOptions.LogInFile = loggingEnabled;
            VlcContext.StartupOptions.LogOptions.ShowLoggerConsole = loggingEnabled;
            VlcContext.StartupOptions.LogOptions.Verbosity = loggingEnabled ? VlcLogVerbosities.Debug : VlcLogVerbosities.None;

            _vlcInstancePtr = VlcContext.Initialize();

            _libPlayer = VlcContext.InteropManager.MediaPlayerInterops;
            _libMedia = VlcContext.InteropManager.MediaInterops;
            _libEvents = VlcContext.InteropManager.EventInterops;

            var funcNewPlayerInst = _libPlayer.NewInstance;
            _vlcPlayerPtr = funcNewPlayerInst.Invoke(_vlcInstancePtr);

            _vlcEventManagerPtr = _libPlayer.EventManagerNewIntance.Invoke( _vlcPlayerPtr );
            _eventCallbackDelegate = new EventCallbackDelegate(this.OnVlcEvent);
            _libEvents.Attach.Invoke(_vlcEventManagerPtr, EventTypes.MediaPlayerPlaying, _eventCallbackDelegate, IntPtr.Zero);
            _libEvents.Attach.Invoke(_vlcEventManagerPtr, EventTypes.MediaPlayerStopped, _eventCallbackDelegate, IntPtr.Zero);
        }
        private void btnSetEventCallback_Click(object sender, EventArgs e)
        {
            //MgrAPIWrapper.SetEventCallback(Callback);//自动释放

            myCallBack = new EventCallbackDelegate(Callback); //修改后
            EnumWindows(myCallBack, 0);
            MgrAPIWrapper.SetEventCallback(myCallBack);

            MessageBoxAdapter.ShowDebug("SetEventCallback ok");
        }
Example #4
0
        public void SubscribeToEvent(StringHash e, Object sender, Action <StringHash, VariantMap> eventHandler)
        {
            var eventCallback = new EventCallbackDelegate((eventHash, argMap) =>
            {
                eventHandler(new StringHash(eventHash), VariantMap.wrap(argMap, false));
            });
            var handle   = GCHandle.ToIntPtr(GCHandle.Alloc(eventCallback));
            var callback = Marshal.GetFunctionPointerForDelegate(eventCallback);

            Urho3D_Object_SubscribeToEvent(swigCPtr, getCPtr(sender), e.Hash, callback, handle);
        }
Example #5
0
 public void Remove(EventCallbackDelegate cb)
 {
     foreach (var cbs in eventCB.Values)
     {
         cbs.Remove(cb);
     }
     foreach (var cbs in onceEventCB.Values)
     {
         cbs.Remove(cb);
     }
 }
Example #6
0
        private void InitEvents()
        {
            if (!VlcContext.HandleManager.MediasHandles.ContainsKey(this))
            {
                return;
            }
            myEventManagerHandle = VlcContext.InteropManager.MediaInterops.EventManager.Invoke(VlcContext.HandleManager.MediasHandles[this]);

            myEventCallback       = OnVlcEvent;
            myEventCallbackHandle = GCHandle.Alloc(myEventCallback);

            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaDurationChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaFreed, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaMetaChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaParsedChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaStateChanged, myEventCallback, IntPtr.Zero);
            //VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaSubItemAdded, myEventCallback, IntPtr.Zero);
        }
Example #7
0
 public void Once(Events ev, EventCallbackDelegate cb)
 {
     EnsureEvents(onceEventCB, ev).Add(cb);
 }
Example #8
0
 public static extern int CR_register_callback(EventCallbackDelegate EventCallback);
        private void InitEvents()
        {
            if (!VlcContext.HandleManager.MediasHandles.ContainsKey(this))
                return;
            myEventManagerHandle = VlcContext.InteropManager.MediaInterops.EventManager.Invoke(VlcContext.HandleManager.MediasHandles[this]);

            myEventCallback = OnVlcEvent;
            myEventCallbackHandle = GCHandle.Alloc(myEventCallback);

            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaDurationChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaFreed, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaMetaChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaParsedChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaStateChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(myEventManagerHandle, EventTypes.MediaSubItemAdded, myEventCallback, IntPtr.Zero);
        }
 public void event_detach(IntPtr p_event_manager, uint i_event_type, EventCallbackDelegate f_callback, IntPtr p_user_data, string data)
 {
     dlibvlc_event_detach(p_event_manager, i_event_type, f_callback, p_user_data, data);
 }
 public static extern int EnumWindows(EventCallbackDelegate x, int y);
        private void InitEvents()
        {
            VlcContext.HandleManager.EventManagerHandles[this] = VlcContext.InteropManager.MediaPlayerInterops.EventManagerNewIntance.Invoke(VlcContext.HandleManager.MediaPlayerHandles[this]);

            myEventCallback = OnVlcEvent;
            myEventCallbackHandle = GCHandle.Alloc(myEventCallback);

            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerBackward, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerBuffering, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerEncounteredError, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerEndReached, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerForward, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerLengthChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerMediaChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerOpening, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPausableChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPaused, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPlaying, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerPositionChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerSeekableChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerSnapshotTaken, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerStopped, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerTimeChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerTitleChanged, myEventCallback, IntPtr.Zero);
            VlcContext.InteropManager.EventInterops.Attach.Invoke(VlcContext.HandleManager.EventManagerHandles[this], EventTypes.MediaPlayerVideoOutChanged, myEventCallback, IntPtr.Zero);
        }
Example #13
0
 public static extern int libvlc_event_attach(IntPtr p_event_manager, libvlc_event_e i_event_type, EventCallbackDelegate f_callback, IntPtr user_data);
Example #14
0
 public static extern void libvlc_event_detach(IntPtr event_manager, libvlc_event_type_t event_type,
                                               EventCallbackDelegate callback, IntPtr user_data);
Example #15
0
 private static extern void FCE_Editor_Event_Callback(EventCallbackDelegate eventCallback);
Example #16
0
 public static void Init()
 {
     m_delegateUpdateCallback = new UpdateCallbackDelegate(Editor.UpdateCallback);
     FCE_Editor_Update_Callback(m_delegateUpdateCallback);
     m_delegateEventCallback = new EventCallbackDelegate(Editor.EventCallback);
     FCE_Editor_Event_Callback(m_delegateEventCallback);
     m_delegateLoadCompletedCallback = new LoadCompletedCallbackDelegate(Editor.LoadCompletedCallback);
     FCE_Editor_LoadCompleted_Callback(m_delegateLoadCompletedCallback);
     m_delegateSaveCompletedCallback = new SaveCompletedCallbackDelegate(Editor.SaveCompletedCallback);
     FCE_Editor_SaveCompleted_Callback(m_delegateSaveCompletedCallback);
     m_delegateEnableUICallback = new EnableUICallbackDelegate(Editor.EnableUICallback);
     FCE_Editor_EnableUI_Callback(m_delegateEnableUICallback);
     while (!FCE_Editor_IsInitialized())
     {
     Engine.TickDuniaEngine();
     }
 }
Example #17
0
 public void Remove(Events ev, EventCallbackDelegate cb)
 {
     EnsureEvents(eventCB, ev).Remove(cb);
     EnsureEvents(onceEventCB, ev).Remove(cb);
 }
 public static extern int SetEventCallback(EventCallbackDelegate callback);