我使用AxWindowsMediaPlayer
在我的组件WinForm
程序。 我注意到,当我设置URL到文件我想打,并呼吁Ctlcontrols.play()
命令有一个如。 电影之前250ms的延迟开始播放。
在这种延迟区域AxWindowsMediaPlayer
是黑色的。 这种行为可以当你从一个电影转换到另一种可以非常容易地看出,或者只是当你停止当前播放的电影,并再次启动它。
我目前的解决方案是基于推迟AxWindowsMediaPlayer
能见度开始播放电影时设置为true。 玩家如后显示给用户。 500ms的时候我相信,这部电影其实玩和用户不会看到黑色的罢了。
我在寻找更好的方式如何避免黑什么的球员。 有没有人解决过类似问题? 或者至少,因为我处理的,这将是在不同的PC非常不同的经验值,有没有办法如何建立万无一失的解决方案?
Prereq: WinForms, .NET 4.0, WMP 12 for Windows 7
private void OnPlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
switch (e.newState)
{
case 3: // Playing started
// Show your control
break;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if(axWindowsMediaPlayer1.Ctlcontrols.currentPosition > axWindowsMediaPlayer1.Ctlcontrols.currentItem.duration - 0.01)
{
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 0;
}
}
此代码变化currentPosition为0秒时的视频运行0.01毫秒,从而能够避免黑屏的过渡效果。 但对于短视频附加代码需要。