Как удалить задержку при загрузке видео в WMP - PullRequest
0 голосов
/ 06 мая 2019

Я делаю новую игру на C #, где мне нужно загрузить несколько видео. Я использую Windows Media Player. Когда я останавливаю «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 секунды.

Кто-нибудь может помочь мне удалить эту задержку?

Большое спасибо

1 Ответ

0 голосов
/ 06 мая 2019

Чтобы прочитать этот файл и начать его воспроизведение, требуется много времени. Управление проигрывателем Windows Media определенно не самое быстрое. Я предлагаю создать несколько элементов управления и просто изменить их видимость. Как:

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

А потом просто так:

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