Можно ли вставить видео в проигрыватель Windows Media? - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть приложение winform в visual studio.На главном интерфейсе у меня есть панели (домашняя панель, панель о нас и панель контактов).Когда я нажимаю кнопку, которая переводит меня на домашнюю панель, я хочу, чтобы видео уже было там (очевидно, в Windows Media Player).И воспроизводиться автоматически при нажатии кнопки «Домашняя панель».Клиент не должен идти и искать видео.

Есть ли способ сделать это?Пожалуйста помоги.

1 Ответ

0 голосов
/ 18 апреля 2019
  • Добавление элемента управления WMP на панель «Набор инструментов» в Visual Studio: https://docs.microsoft.com/en-us/windows/desktop/wmp/using-the-windows-media-player-control-with-microsoft-visual-studio
  • Перетащите элемент управления WMP из панели инструментов на панель «Домой» в конструкторе форм.
  • Добавьте видео в проект и в его свойствах выберите «Копировать, если новее» в опции «Копировать в выходной каталог».
  • Переопределите Form.OnLoad или найдите другое подходящее место и добавьте код, который дает игроку URL-адрес видео и устанавливает другие свойства.

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
    
        var location = Assembly.GetExecutingAssembly().Location;
        var folder = Path.GetDirectoryName(location);
        var path = Path.Combine(folder, "small.avi");
        axWindowsMediaPlayer1.URL = path;
    
        axWindowsMediaPlayer1.uiMode = "none";
    
        // autoplay if current page index is 0 (home?)
        if (tabControl1.SelectedIndex == 0)
            axWindowsMediaPlayer1.Ctlcontrols.play();
    }
    

Если вы хотите, чтобы проигрыватель возобновлял воспроизведение при каждом отображении страницы, добавьте обработчик в событие TabControl.SelectedIndexChanged:

this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.TabControl1_SelectedIndexChanged);

и реализовать это так:

private void TabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (tabControl1.SelectedIndex == 0)
        axWindowsMediaPlayer1.Ctlcontrols.play();
}
...