【问题标题】:How to delete delay when load a video in WMP如何在 WMP 中加载视频时删除延迟
【发布时间】:2019-05-06 07:52:07
【问题描述】:

我正在用 C# 做一个新游戏,我需要在其中加载一些视频。 我正在使用 Windows 媒体播放器。当我停止“VideoA”时,我必须立即加载“VideoB”,而不是现在在 VideoA 和 VideoB 之间有 0.5 秒的屏幕是黑色的。

按照我的代码:

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        int pressZero = 0;
        public Form1()
        {
            InitializeComponent();
            Console.WriteLine(pressZero);
            Video1.URL = @"C:\Users\utente\Documents\VideoA.avi";
            Video1.Ctlcontrols.stop();
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyCode==Keys.NumPad0)
            {
                pressZero++;
                if(pressZero==1)
                {
                    Video1.Ctlcontrols.play();
                }
            }
            if (e.KeyCode == Keys.NumPad2)
            {
                Video1.Ctlcontrols.stop();
                Video1.URL = @"C:\Users\utente\Documents\VideoB.avi";
                Video1.Ctlcontrols.play();
            }
        }
    }
}

当我按下 NumPad2 时,VideoA 停止,VideoB 开始,但现在有 0.5 秒的黑屏。

有人可以帮我删除这个延迟吗?

非常感谢

【问题讨论】:

    标签: c# windows-media-player


    【解决方案1】:

    实际读取该文件并开始播放需要花费大量时间。 Windows Media Player 控件绝对不是最快的。我建议创建多个控件并更改它们的可见性。喜欢:

    Video1.URL = @"C:\Users\utente\Documents\VideoA.avi";
    Video2.URL = @"C:\Users\utente\Documents\VideoB.avi";
    

    然后就像这样:

    Video1.Visible = false;
    Video2.Visible = true;
    

    【讨论】:

    • 你会说我要创建两个AxWindowsMediaPlayer?当我开始“Video2”?
    • 是的,您只需在应用启动时创建所需数量的播放器。然后在需要时显示/隐藏它们。
    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2018-06-11
    相关资源
    最近更新 更多