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

本文关键字:的视频 文件 播放 连续 VLC 播放列表 | 更新日期: 2023-09-27 17:58:29

我正试图在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);
        }

这是我尝试做的事情的简化版本。当播放器到达第一个视频文件的末尾时,它会通过事件处理程序函数启动第二个。

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

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

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();
}