PlayAVIPictureBox – Play an AVI file in a PictureBox

Const WS_CHILD = &H40000000Private Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" _    (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _    ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongPrivate Declare Function mciGetErrorString Lib "winmm" Alias _    "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, _    ByVal uLength As Long) As LongPrivate Declare Function GetShortPathName Lib "kernel32" Alias _    "GetShortPathNameA" (ByVal lpszLongPath As String, _    ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long' Play an AVI file in a PictureBox synchronously.'' FileName is a string containing the full path of the file.' Window is the PictureBox in which you want that the movie' is played; the movie is automatically resized to the picture boxSub PlayAVIPictureBox(FileName As String, ByVal Window As PictureBox)    Dim RetVal As Long    Dim CommandString As String    Dim ShortFileName As String * 260    Dim deviceIsOpen As Boolean    ' Retrieve short file name format    RetVal = GetShortPathName(FileName, ShortFileName, Len(ShortFileName))    FileName = Left$(ShortFileName, RetVal)        ' Open the device    CommandString = "Open " & FileName & " type AVIVideo alias AVIFile parent " _        & CStr(Window.hWnd) & " style " & CStr(WS_CHILD)    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)     If RetVal Then GoTo Error    ' remember that the device is now open    deviceIsOpen = True           ' Resize the movie to PictureBox size    CommandString = "put AVIFile window at 0 0 " & CStr(Window.ScaleWidth / _        Screen.TwipsPerPixelX) & " " & CStr(Window.ScaleHeight / _        Screen.TwipsPerPixelY)    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error       ' Play the file    CommandString = "Play AVIFile wait"    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error        ' Close the device    CommandString = "Close AVIFile"    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error    Exit Sub    error:    ' An error occurred.     ' Get the error description    Dim ErrorString As String    ErrorString = Space$(256)    mciGetErrorString RetVal, ErrorString, Len(ErrorString)    ErrorString = Left$(ErrorString, Instr(ErrorString, vbNullChar) - 1)    ' close the device if necessary    If deviceIsOpen Then        CommandString = "Close AVIFile"        mciSendString CommandString, vbNullString, 0, 0&    End if    ' raise a custom error, with the proper description    Err.Raise 999, , ErrorStringEnd Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

Top 5 B2B SaaS Marketing Agencies for 2023

In recent years, the software-as-a-service (SaaS) sector has experienced exponential growth as more and more companies choose cloud-based solutions. Any SaaS company hoping to stay ahead of the curve in this quickly changing industry needs to invest in effective marketing. So selecting the best marketing agency can mean the difference

technology leadership

Why the World Needs More Technology Leadership

As a fact, technology has touched every single aspect of our lives. And there are some technology giants in today’s world which have been frequently opined to have a strong influence on recent overall technological influence. Moreover, those tech giants have popular technology leaders leading the companies toward achieving greatness.

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.