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); }
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"); }
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); }
public void Remove(EventCallbackDelegate cb) { foreach (var cbs in eventCB.Values) { cbs.Remove(cb); } foreach (var cbs in onceEventCB.Values) { cbs.Remove(cb); } }
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 Once(Events ev, EventCallbackDelegate cb) { EnsureEvents(onceEventCB, ev).Add(cb); }
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); }
public static extern int libvlc_event_attach(IntPtr p_event_manager, libvlc_event_e i_event_type, EventCallbackDelegate f_callback, IntPtr user_data);
public static extern void libvlc_event_detach(IntPtr event_manager, libvlc_event_type_t event_type, EventCallbackDelegate callback, IntPtr user_data);
private static extern void FCE_Editor_Event_Callback(EventCallbackDelegate eventCallback);
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(); } }
public void Remove(Events ev, EventCallbackDelegate cb) { EnsureEvents(eventCB, ev).Remove(cb); EnsureEvents(onceEventCB, ev).Remove(cb); }
public static extern int SetEventCallback(EventCallbackDelegate callback);