当WMP在VBA UserForm中运行时,它会根据剪辑大小和分辨率自动调整大小,而不管是以编程方式设置的Width
和Height
属性。我需要视频固定大小。以下代码不执行任何操作:
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
我环顾四周,没有找到任何解释正在发生的事情或解决这个问题。有人可以帮忙吗?
答案 0 :(得分:3)
单击WindowsMediaPlayer1控件并选择自定义属性。您将看到“Windows Media Player属性”窗口。取消选中“自动启动”选项。那应该可以解决这个问题。
这就够了。你不需要做任何其他选择。它不会闪烁或看起来不会跳跃等。
现在,您可以根据设计模式本身所需的大小调整WindowsMediaPlayer1控件的大小。如果您仍然想要,也可以通过代码执行相同的操作。取消选中上述选项后,它应该按预期工作。