系统相关
首页 > 系统相关> > c#-全屏嵌入Windows Media Player

c#-全屏嵌入Windows Media Player

作者:互联网

我使用axwindowsmediaplayer和C#在winform中嵌入了视频.

我有一个计时器,可以在一段时间后将控件设置为fullscreen = true.

private void timer1_Tick(object sender, EventArgs e)
{
    timer1.Stop();
    videowmp.fullScreen = true;
}

我使用数据库来获取视频,并且每次视频结束时都调用一个函数来获取视频,由于某种原因,我需要在那里设置第二个计时器来启动新视频:

private void videowmp_PlayStateChange(object sender,
    AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
    if (e.newState == 8)
    {
        timer2.Interval = 100;
        timer2.Enabled = true;
    }
}

private void timer2_Tick(object sender, EventArgs e)
{
    timer2.Enabled = false;
    selec_video();
}

函数selec_video()获取视频,设置Windows Media Player控件的URL,并将其设置为play().

我的问题是,视频播放完后,我将失去全屏模式.我的意思是视频恢复到原始大小.调用selec_video()后,我尝试设置fullscreen = true,但出现错误(灾难性错误).我想发生这种情况是因为控件已经处于全屏状态了…所以我要做的是调用selec_video()而不丢失全屏模式.

解决方法:

以下代码正在检查媒体播放器的播放状态.如果正在播放某些内容,它将设置为全屏模式.

private void timer2_Tick(object sender, EventArgs e)
{
     selec_video(); 
     if (videowmp.playState == WMPLib.WMPPlayState.wmppsPlaying)
     {
        videowmp.fullScreen = true;
     }
}

标签:fullscreen,axwindowsmediaplayer,c,winforms
来源: https://codeday.me/bug/20191030/1965777.html