在VLC播放列表中连续播放不同的视频文件

时间:2014-04-14 19:57:33

标签: c# vlc

我正试图在Winform应用程序的VLC播放器上连续播放不同的视频文件。

我遇到的问题是在不同的播放列表视频之间有1-2秒的黑屏。

如何顺利播放播放列表中的所有视频而无需等待?

private void buttonLoad_Click(object sender, EventArgs e)
        {
            var uri = new Uri(@"C:\Users\Val\Downloads\000013.ts");
            var converted = uri.AbsoluteUri;
            var uri2 = new Uri(@"C:\Users\Val\Downloads\000210.ts");
            var converted2 = uri2.AbsoluteUri;
            axVLCPlugin21.playlist.add(converted);
            axVLCPlugin21.playlist.add(converted2);
}

private void buttonStart_Click(object sender, EventArgs e)
        {
            axVLCPlugin21.MediaPlayerEndReached += new EventHandler(OnTimedEvent);
            axVLCPlugin21.playlist.playItem(0);
}

private void OnTimedEvent(object sender, EventArgs e)
        {
            axVLCPlugin21.playlist.playItem(1);

        }

这是我想要做的简化版本。 当播放器到达第一个视频文件的末尾时,它会通过eventhandler函数启动第二个视频文件。

1 个答案:

答案 0 :(得分:0)

我知道无缝播放视频的最佳方式是避免示例中的定时事件:

private void buttonLoad_Click(object sender, EventArgs e)
{
            var uri = new Uri(@"C:\Users\Val\Downloads\000013.ts");
            var converted = uri.AbsoluteUri;
            var uri2 = new Uri(@"C:\Users\Val\Downloads\000210.ts");
            var converted2 = uri2.AbsoluteUri;
            axVLCPlugin21.playlist.add(converted);
            axVLCPlugin21.playlist.add(converted2);
}

private void buttonStart_Click(object sender, EventArgs e)
{
            axVLCPlugin21.playlist.play();
}