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