1. 程式人生 > >[Winform]Media Player組件全屏播放的設置

[Winform]Media Player組件全屏播放的設置

播放 ring session define rom fine () waiting same

摘要

在設置程序開始運行時,讓視頻全屏播放時,直接設置

windowsMediaPlay.fullScreen = true;

會報錯,代碼如下

                windowsMediaPlay.URL = _videoPath;
                windowsMediaPlay.Ctlcontrols.play();
                windowsMediaPlay.fullScreen = true;
                windowsMediaPlay.ClickEvent += windowsMediaPlay_ClickEvent;
                windowsMediaPlay.KeyUpEvent 
+= windowsMediaPlay_KeyUpEvent; windowsMediaPlay.StatusChange += windowsMediaPlay_StatusChange;

錯誤

技術分享

抱著相信微軟的心情,就在猜想,可能是位置不對,是不是必須視頻在播放中才可以設置全屏?

所以在視頻狀態變化的事件中,這樣設置

        void windowsMediaPlay_StatusChange(object sender, EventArgs e)
        {
            /*  
             * 0 Undefined Windows Media Player is in an undefined state.(未定義) 
               1 Stopped Playback of the current media item is stopped.(停止) 
               2 Paused Playback of the current media item is paused. When a media item is paused, resuming 
playback begins from the same location.(停留) 3 Playing The current media item is playing.(播放) 4 ScanForward The current media item is fast forwarding. 5 ScanReverse The current media item is fast rewinding. 6 Buffering The current media item is getting additional data from the server.(轉換) 7 Waiting Connection is established, but the server is not sending data. Waiting for session to begin.(暫停) 8 MediaEnded Media item has completed playback. (播放結束) 9 Transitioning Preparing new media item. 10 Ready Ready to begin playing.(準備就緒) 11 Reconnecting Reconnecting to stream.(重新連接)
*/ //判斷視頻是否已停止播放 if ((int)windowsMediaPlay.playState == 1) { //停頓2秒鐘再重新播放 System.Threading.Thread.Sleep(1000); //重新播放 windowsMediaPlay.Ctlcontrols.play(); } else if ((int)windowsMediaPlay.playState == 3) { windowsMediaPlay.fullScreen = true; } }

親測,解決問題。

[Winform]Media Player組件全屏播放的設置