1

Windowsフォームにビデオを入れることができます。

私の質問は、ビデオの再生が終了したときに、別のビデオの再生を開始する方法です。シーケンスのような意味. 終了したら、別のビデオを再生します。

これまでのところ、なんとかビデオを再生できましたが、ビデオをループするだけです。

何か案は?

これはこれまでの私のコードです:

public partial class Form1 : Form
{
     Video video;



    public Form1()
    {
        InitializeComponent();          
        Initializevid1();

    }

    public void Initializevid1()
    {

           // store the original size of the panel
            int width = viewport.Width;
            int height = viewport.Height;

            // load the selected video file
            video = new Video("C:\\Users\\Dave\\Desktop\\WaterDay1.wmv");

            // set the panel as the video object’s owner
            video.Owner = viewport;

            // stop the video
            video.Play();
            video.Ending +=new EventHandler(BackLoop);

            // resize the video to the size original size of the panel
            viewport.Size = new Size(width, height);   

    }

    private void BackLoop(object sender, EventArgs e)
    {

        //video.CurrentPosition = 0;
    }
4

3 に答える 3

0

以前に作成した同じビデオオブジェクトを使用して、BackLoop()関数の2番目のビデオファイルを開くことができます。

したがって、コードは次のようになります。

private void BackLoop(object sender, EventArgs e)
{
    video.Open("C:\\Users\\Dave\\Desktop\\WaterDay2.wmv", true);
}
于 2012-03-07T11:39:01.703 に答える
0

この投稿を使用してニーズに合わせましたが、これが私の解決策でした:

Video _SegaVideo;
Video _IntroVideo;

public _FrmMain()
{
    InitializeComponent();

    _SegaVideo = new Video(@"video\SEGA.AVI");
    _SegaVideo.Owner = _VideoPanel;
    _SegaVideo.Play();
    _SegaVideo.Ending += new EventHandler(_SegaVideoEnding);

}

private void _SegaVideoEnding(object sender, EventArgs e)
{
    _IntroVideo = new Video(@"video\INTRO.AVI");
    _IntroVideo.Owner = _VideoPanel;
    _IntroVideo.Play();
}
于 2013-07-07T04:52:54.710 に答える