Попробуйте этот фрагмент кода, чтобы автоматически изменить размер фильма на панели, на которой вы размещаете видео.Это также будет поддерживать правильное соотношение сторон.(Просто замените название вашей панели на «movieWindow»)
maxSize - это максимальный размер, который вы хотите, чтобы видео было.Он будет вынужден вписаться в этот размер.
Вызовите подпрограмму прямо перед тем, как выполнить команду «play movie».(редактировать 20.03.2012 - исправлена опечатка в имени переменной).
SizeVideoWindow(movieWindow.size)
dim retval as integer = mcisendstring("play movie", 0, 0, 0)
Private Sub SizeVideoWindow(maxSize as size)
Dim ActualMovieSize As Size = getDefaultSize()
Dim AspectRatio As Single = ActualMovieSize.Width / ActualMovieSize.Height
Dim iLeft As Integer = 0
Dim iTop As Integer = 0
Dim newWidth As Integer = maxSize.width
Dim newHeight As Integer = newWidth \ AspectRatio
If newHeight > maxSize.height Then
newHeight = maxSize.height
newWidth = newHeight * AspectRatio
iLeft = (maxSize.width - newWidth) \ 2
Else
iTop = (maxSize.height - newHeight) \ 2
End If
mciSendString("put movie window at " & iLeft & " " & iTop & " " & newWidth & " " & newHeight, 0, 0, 0)
End Sub
Public Function getDefaultSize() As Size
'Returns the default width, height the movie
Dim c_Data As String = Space(128)
mciSendString("where movie source", c_Data, 128, 0)
Dim parts() As String = Split(c_Data, " ")
Return New Size(CInt(parts(2)), CInt(parts(3)))
End Function