Windows Media Player无缝循环播放视频

时间:2014-09-19 16:08:21

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

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

所以,基本上我想知道的是,如果最好的解决方案是以某种方式完全缓存视频,或者以某种方式暂停它再次加载它,也许我必须基于计时器或其他东西来解决这个问题影响。在任何情况下,请告诉我什么,如果知道什么是解决Winforms嵌入式Windows Media Player中的视频循环之间的黑屏闪烁的问题。

2 个答案:

答案 0 :(得分:2)

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

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

我希望这会有所帮助。

答案 1 :(得分:0)

    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秒,从而可以避免黑屏的过渡效果