【问题标题】:Embeded Windows Media Player full screen嵌入 Windows Media Player 全屏
【发布时间】:2013-11-24 02:01:49
【问题描述】:

我在使用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(),而不会丢失全屏模式。

【问题讨论】:

  • 我编辑了我的问题,希望您现在可以帮助我...谢谢!

标签: c# winforms fullscreen axwindowsmediaplayer


【解决方案1】:

以下代码正在检查您的媒体播放器的播放状态。如果它正在播放某些东西,它会将其设置为全屏模式。

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

【讨论】:

    【解决方案2】:

    您可以使用 PlayStateChange 操作。你也可以从PlayStateChange Event of the AxWindowsMediaPlayer Object找到其他州代码

    private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
         if (e.newState == 3)//Playing
         {
               axWindowsMediaPlayer1.fullScreen = true;                
         }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多