Playing two video with axWindowsMediaPlayer

Refresh

December 2018

Views

7.5k time

5

I try to play jpg (in loop), after click mp4 should be played after end, that jpg should play again. I dont know why but after I play in axWindowsMediaPlayer1_PlayStateChange vido play and then stop. Help.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Video
{
    public partial class Form1 : Form
    {
        bool clicked = false;
        public Form1()
        {
            InitializeComponent();
            axWindowsMediaPlayer1.URL = "wait2.JPG";

        }



        private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
            if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded & clicked== true)
            {
                clicked = false;
                axWindowsMediaPlayer1.settings.setMode("Loop", true);
                axWindowsMediaPlayer1.URL = "wait2.JPG";
                axWindowsMediaPlayer1.Ctlcontrols.play();

            }

        }

        private void axWindowsMediaPlayer1_ClickEvent(object sender, AxWMPLib._WMPOCXEvents_ClickEvent e)
        {
            axWindowsMediaPlayer1.settings.setMode("Loop", false);
            axWindowsMediaPlayer1.URL = "video.MP4";
            axWindowsMediaPlayer1.Ctlcontrols.play();
            clicked = true;
        }


    }
}

2 answers

7

Я хотел бы кто-то ответил на этот вопрос времени она была размещена. У меня ушло много времени, чтобы понять, почему я не был в состоянии начать новое видео, установив свойство URL. Я, наконец, нашел ответ на этот вопрос здесь:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd562470%28v=vs.85%29.aspx

Проблема с установкой свойства URL из обработчика событий axWindowsMediaPlayer1_PlayStateChange (). В соответствии с вышеуказанным документом MSDN:

«Не называйте этот метод из кода обработчика событий. Вызов URL из обработчика событий может привести к неожиданным результатам.»

Таким образом, свойство URL должен быть установлен за пределами даже обработчика. Я также попытался Dispatcher.Invoke () и даже начать новую нить из обработчика событий, чтобы задать свойство URL; но это тоже не помогло. Это действительно должно прийти извне обработчика событий!

7

Я хотел бы кто-то ответил на этот вопрос времени она была размещена. У меня ушло много времени, чтобы понять, почему я не был в состоянии начать новое видео, установив свойство URL. Я, наконец, нашел ответ на этот вопрос здесь:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd562470%28v=vs.85%29.aspx

Проблема с установкой свойства URL из обработчика событий axWindowsMediaPlayer1_PlayStateChange (). В соответствии с вышеуказанным документом MSDN:

«Не называйте этот метод из кода обработчика событий. Вызов URL из обработчика событий может привести к неожиданным результатам.»

Таким образом, свойство URL должен быть установлен за пределами даже обработчика. Я также попытался Dispatcher.Invoke () и даже начать новую нить из обработчика событий, чтобы задать свойство URL; но это тоже не помогло. Это действительно должно прийти извне обработчика событий!