2

当 WMP 在 VBA 用户窗体中运行时,它会根据剪辑大小和分辨率自动调整大小,而WidthHeight以编程方式设置的属性无关。我需要视频具有固定大小。下面的代码什么都不做:

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

以下代码确实有效,但在开始时会使视频跳动 - 以自己的大小开始播放,然后跳转到新的大小,而不是专业的外观。

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

我环顾四周,没有发现任何东西可以解释发生了什么或解决这个问题。有人可以帮忙吗?

4

1 回答 1

3

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

仅此就足够了。您无需设置任何其他选项。它不会闪烁或看起来不会跳动等。

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

于 2017-06-18T13:46:31.373 回答