Windows媒体播放器大小在vba用户forms

当WMP在VBA UserForm中运行时,它会根据剪辑大小和分辨率自动resize,而不pipe通过编程设置WidthHeight属性。 我需要的video有一个固定的大小。 下面的代码什么都不做:

 With UserForm1.WindowsMediaPlayer1 .URL = "C:\AnyVideo.mp4" .Controls.Play .stretchToFit = True .Width = 500 .Height = 300 .Top = 0 .Left = 0 End With 

下面的代码确实有效,但是在开始的时候会让video变得有些跳跃 – 开始以自己的尺寸进行播放,然后跳到新的尺寸,而不是专业的外观。

 With UserForm1.WindowsMediaPlayer1 .URL = "C:\AnyVideo.mp4" .Controls.Play End With Timer_1 = Timer + 1 Do While Timer < Timer_1 DoEvents Loop With UserForm1.WindowsMediaPlayer1 .stretchToFit = True .Width = 600 .Height = 300 .Top = 0 .Left = 0 End With 

我环顾四周,找不到解释发生什么事情或解决这个问题。 任何人都可以帮忙?

单击WindowsMediaPlayer1控件并select自定义属性。 您将看到“Windows Media Player属性”窗口。 取消选中“自动启动”选项。 这应该可以解决这个问题。

这就够了。 你不需要做任何其他的select。 它不会闪烁或不会看起来跳动等

现在,您可以根据devise模式本身的大小调整WindowsMediaPlayer1控件的大小。 如果你还想要,你也可以通过代码来做同样的事情。 在您取消选中上述选项后,它应该按照您的预期工作。