Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Nov 13, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Play an AVI movie in a PictureBox control

With MCI functions you can play an AVI movie into a PictureBox. All you need to do is open the file with a special procedure:

Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal _
    lpstrCommand As String, ByVal lpstrReturnString As String, _
    ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Const WS_CHILD = &H40000000

CommandString = "Open " + FileName + " type AVIVideo alias AVIFile parent " & _
    CStr(Pic.hWnd) & " style " & CStr(WS_CHILD)
RetVal = mciSendString(CommandString, vbNullString, 0, 0)
where FileName is the path of the file and Pic is the PictureBox control inside which you want to play the movie. To resize the movie and fill the PictureBox use these statements:

Dim Height as Long, Width as Long
Height = Pic.ScaleHeight / Screen.TwipsPerPixelY
Width = Pic.ScaleWidth / Screen.TwipsPerPixelX
CommandString = "Put AVIFile window at 0 0 " & CStr(Width) & " " & CStr(Height)
RetVal = mciSendString(CommandString, vbNullString, 0, 0)
If you want to mantain the original aspect ratio, you have to retrieve the original size of the movie and resize the PictureBox accordingly before running this command. When the file is opened you can use the usual command strings to control the playback.
Alberto Falossi
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date