Пример #1
0
        public MFMediaUriElement()
        {
            window = new HiddenWindow();
            window.CreateHandle(new CreateParams());

            Player = new MFMediaUriPlayer(window.Handle, window.Handle);
            Player.NewAllocatorFrame += new Action(Player_NewAllocatorFrame);
            Player.NewAllocatorSurface += new NewAllocatorSurfaceDelegate(Player_NewAllocatorSurface);
            Player.OpenURL(@"E:\olddesktop\Coral_Reef_Adventure_1080.wmv");
            Thread.Sleep(2500);
            Player.Pause();
            Thread.Sleep(2500);
            Player.Play();
        }
Пример #2
0
        private void GetMainWindowHwndHelper()
        {
            if (m_window == null)
            {
                m_window = new HiddenWindow();
            }
            else
            {
                return;
            }

            if (m_window.Handle == IntPtr.Zero)
            {
                lock (m_window)
                {
                    m_window.CreateHandle(new CreateParams());
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Part of the dispose pattern
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            //if (m_disposed)
            //    return;

            if (!disposing)
            {
                return;
            }

            if (m_window != null)
            {
                m_window.RemoveHook(WndProcHook);
                m_window.DestroyHandle();
                m_window = null;
            }

            if (m_timer != null)
            {
                m_timer.Dispose();
            }

            m_timer = null;

            if (CheckAccess())
            {
                FreeResources();
                Dispatcher.BeginInvokeShutdown();
            }
            else
            {
                Dispatcher.BeginInvoke((Action) delegate
                {
                    FreeResources();
                    Dispatcher.BeginInvokeShutdown();
                });
            }

            m_disposed = true;
        }
Пример #4
0
        private static void GetMainWindowHwndHelper()
        {
            if (m_window == null)
            {
                m_window = new HiddenWindow();
            }

            if (m_window.Handle == IntPtr.Zero)
            {
                m_window.CreateHandle(new CreateParams());
            }
        }
Пример #5
0
        /// <summary>
        /// Part of the dispose pattern
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            //if (m_disposed)
            //    return;

            if(!disposing)
                return;

            if (m_window != null)
            {
                m_window.RemoveHook(WndProcHook);
                m_window.DestroyHandle();
                m_window = null;
            }

            if (m_timer != null)
                m_timer.Dispose();

            m_timer = null;

            if(CheckAccess())
            {
                FreeResources();
                Dispatcher.BeginInvokeShutdown();
            }
            else
            {
                Dispatcher.BeginInvoke((Action)delegate
                {
                    FreeResources();
                    Dispatcher.BeginInvokeShutdown();
                });
            }

            m_disposed = true;
        }
Пример #6
0
        private void GetMainWindowHwndHelper()
        {
            if (m_window == null)
                m_window = new HiddenWindow();
            else
                return;

            if (m_window.Handle == IntPtr.Zero)
            {
                lock(m_window)
                {
                    m_window.CreateHandle(new CreateParams());
                }
            }
        }