VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Determine the Capabilities of an AVI file

by Patrick K. Bigley (14 Submissions)
Category: Miscellaneous
Compatability: Visual Basic 3.0
Difficulty: Unknown Difficulty
Date Added: Wed 3rd February 2021
Rating: (2 Votes)

MCI Multimedisa control NOT NEEDED! Determine if an AVI (movie) file has AUDIO, VIDEO, REVERSE, TOTAL NUMBER of FRAMES, STRETCH, etc... This is good information to know about an AVI before playing it in your program. You can use this information to help you display a "meter" or a scroll bar to quickly move around in an AVI file. This is easy code, enjoy.

Assumes
Create a new project with a form (Form1) Add a command control to the form (Command1) Have a few AVI (*.avi) files on hand for testing

Rate Determine the Capabilities of an AVI file

Private Sub Command1_Click()
'NOTE: Some of the routines below obviously do not
'apply to an AVI, such as "Can Eject", but the routines
'within this code applies ALL multimedia (WAV, MIDI, AVI,
'CD Audio, Scanner, DAT, etc...)
Dim mssg As String * 255
Dim Rslt As String
Rslt = "Capabilities of this AVI file:" & vbCrLf & vbCrLf
'We must "open" the AVI file first
 ComStr = "open c:\shut.avi type avivideo alias video1"
 x% = mciSendString(ComStr, 0&, 0, 0&)
'---Can it be played?
x% = mciSendString("capability video1 can play", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can be played" & vbCrLf
Else
 Rslt = Rslt & "- Cannot be played" & vbCrLf
End If
'---Does it have audio?
x% = mciSendString("capability video1 has audio", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Has audio" & vbCrLf
Else
 Rslt = Rslt & "- Has no audio" & vbCrLf
End If
 
'---Does it have video?
x% = mciSendString("capability video1 has audio", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Has video" & vbCrLf
Else
 Rslt = Rslt & "- Has no video" & vbCrLf
End If
'---Can it be played in reverse?
x% = mciSendString("capability video1 can reverse", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can reverse" & vbCrLf
Else
 Rslt = Rslt & "- Cannot reverse" & vbCrLf
End If
'---Can it be stretched?
x% = mciSendString("capability video1 can stretch", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can stretch" & vbCrLf
Else
 Rslt = Rslt & "- Cannot stretch" & vbCrLf
End If
'---Can it record?
x% = mciSendString("capability video1 can record", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can record" & vbCrLf
Else
 Rslt = Rslt & "- Cannot record" & vbCrLf
End If
'---Can it eject?
x% = mciSendString("capability video1 can eject", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can eject" & vbCrLf
Else
 Rslt = Rslt & "- Cannot eject" & vbCrLf
End If
'---Compound Device?
x% = mciSendString("capability video1 compound device", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Compound device = TRUE" & vbCrLf
Else
 Rslt = Rslt & "- Compound device = FALSE" & vbCrLf
End If
'---Uses file(s)?
x% = mciSendString("capability video1 uses files", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Uses file(s)" & vbCrLf
Else
 Rslt = Rslt & "- Does not use file(s)" & vbCrLf
End If
'---Does this use palettes?
x% = mciSendString("capability video1 uses palettes", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Uses palettes" & vbCrLf
Else
 Rslt = Rslt & "- Does not use palettes" & vbCrLf
End If
'---Can it save?
x% = mciSendString("capability video1 can save", mssg, 255, 0)
If Left$(mssg, 4) = "true" Then
 Rslt = Rslt & "- Can be saved" & vbCrLf
Else
 Rslt = Rslt & "- Cannot be saved" & vbCrLf
End If
'Close the AVI file
x% = mciSendString("close video1", 0&, 0, 0&)
 
 
 MsgBox Rslt, , "Results"
End Sub

Download this snippet    Add to My Saved Code

Determine the Capabilities of an AVI file Comments

No comments have been posted about Determine the Capabilities of an AVI file. Why not be the first to post a comment about Determine the Capabilities of an AVI file.

Post your comment

Subject:
Message:
0/1000 characters