【问题标题】:Windows Media Player seamless looping of videoWindows Media Player 无缝循环播放视频
【发布时间】:2014-09-19 16:08:21
【问题描述】:

我在我的 WinForms 应用程序中实现了一个 Windows Media Player。 axWindowsMediaPlayer 在应用程序中并且工作正常,但我的问题是在播放视频之间存在黑屏闪烁。但奇怪的是它不会在第一次和第二次播放视频之间闪烁黑屏。所以,这让我相信它一定是某种缓冲或某种东西,在第一次播放期间它保持正常,但此后在跟上加载和同时播放视频时出现问题。

所以,基本上我想知道的是,最好的解决办法是以某种方式完全缓存视频,或者在再次加载视频时以某种方式暂停它,也许我必须根据计时器或其他东西来完成这一切影响。无论如何,如果有任何已知的方法可以解决在 Winforms 嵌入式 Windows Media Player 中循环播放视频之间的黑屏闪烁问题,请告诉我。

【问题讨论】:

    标签: c# visual-studio-2010 visual-studio media-player


    【解决方案1】:

    您可以尝试使用跟随代码手动重置视频当前位置。它将从头开始播放视频,没有任何闪烁。

    AxWindowsMediaPlayer.Ctlcontrols.currentPosition = 0
    

    或者在计时器滴答事件中使用它,当视频接近尾声时,然后像这样从头开始手动播放。

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If AxWindowsMediaPlayer1.Ctlcontrols.currentPosition > AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration - 0.01 Then
            AxWindowsMediaPlayer1.Ctlcontrols.currentPosition = 0
        End If
    End Sub
    

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:
          private void timer1_Tick(object sender, EventArgs e)
          {
              if(axWindowsMediaPlayer1.Ctlcontrols.currentPosition > axWindowsMediaPlayer1.Ctlcontrols.currentItem.duration - 0.01)
                  {
                  axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 0;
                  }
          }
      

      此代码在视频运行0.01毫秒时将currentPosition更改为0秒,以避免黑屏的过渡效果

      【讨论】:

      • 请在您的答案中添加解释。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2012-12-06
      相关资源
      最近更新 更多