Retrieving Media File Information Example for Visual Basic
' A simple C++ example for using the ltmmMediaInfo object.
' This example will retrieve the source file properties and show them in message boxes.
Private Sub File_Info(File As String)
Set MI = New ltmmMediaInfo
Dim sMsg As String
sMsg = ""
' set the source file:
MI.sourcefile = File
' general properties:
On Error Resume Next
AddStringToMsg "Source file: ", MI.sourcefile, sMsg
AddStringToMsg "File size: ", Str(MI.SourceFileSize), sMsg
AddStringToMsg "Number of streams: ", Str(MI.OutputStreams), sMsg
AddStringToMsg "File duration: ", Str(MI.SourceDuration), sMsg
AddStringToMsg "Source BitRate : ", Str(MI.SourceBitRate), sMsg
AddStringToMsg "Source format: ", Str(MI.SourceFormat), sMsg
AddStringToMsg "Source format name: ", MI.SourceFormatName, sMsg
AddStringToMsg "Source filter CLSID: ", MI.SourceFilterClassID, sMsg
AddStringToMsg "Source filter name: ", MI.SourceFilterName, sMsg
AddStringToMsg "Title The name for a group of related video files (called "Chapters") on your DVD. For example, for a DVD called "My Summer Vacation," you might have the titles "Water Skiing," "New Friends," and "Hiking." For each of those titles, you might have one or more different video files.: ", MI.Title, sMsg
AddStringToMsg "Author: ", MI.Author, sMsg
AddStringToMsg "Description: ", MI.Description, sMsg
AddStringToMsg "Rating: ", MI.Rating, sMsg
AddStringToMsg "Copyright: ", MI.Copyright, sMsg
MsgBox sMsg
' stream properties:
For lIndex = 0 To MI.OutputStreams – 1
On Error Resume Next
sMsg = ""
MI.CurrentStream = lIndex
AddStringToMsg "Stream number: ", Str(MI.CurrentStream), sMsg
AddStringToMsg "Stream type: ", MI.StreamType, sMsg
AddStringToMsg "Stream type name: ", MI.StreamTypeName, sMsg
AddStringToMsg "Stream subtype: ", MI.StreamSubtype, sMsg
AddStringToMsg "Stream subtype name: ", MI.StreamSubtypeName, sMsg
AddStringToMsg "Stream duration: ", Str(MI.StreamDuration), sMsg
' video specific
sMsg = sMsg & Chr$(13) & Chr$(10)
sMsg = sMsg + " *** Video specific properties ***"
sMsg = sMsg & Chr$(13) & Chr$(10)
AddStringToMsg "Video frame rate: ", Str(MI.VideoFrameRate), sMsg
AddStringToMsg "Video width: ", Str(MI.VideoWidth), sMsg
AddStringToMsg "Video height: ", Str(MI.VideoHeight), sMsg
AddStringToMsg "Video bit count: ", Str(MI.VideoBitCount), sMsg
AddStringToMsg "Video compression: ", Str(MI.VideoCompression), sMsg
AddStringToMsg "Video bit rate: ", Str(MI.VideoBitRate), sMsg
AddStringToMsg "Video frames count: ", Str(MI.VideoFrames), sMsg
' Audio specific
sMsg = sMsg & Chr$(13) & Chr$(10)
sMsg = sMsg + " *** Audio specific properties ***"
sMsg = sMsg & Chr$(13) & Chr$(10)
AddStringToMsg "Audio format tag: ", Str(MI.AudioFormatTag), sMsg
AddStringToMsg "Audio channels: ", Str(MI.AudioChannels), sMsg
AddStringToMsg "Audio frequency: ", Str(MI.AudioSamplesPerSec), sMsg
AddStringToMsg "Audio sample size: ", Str(MI.AudioBitsPerSample), sMsg
AddStringToMsg "Audio average bytes per second: ", Str(MI.AudioAvgBytesPerSec), sMsg
MsgBox sMsg
Next lIndex
MI.ResetSource
Set MI = Nothing
End Sub
Private Sub AddStringToMsg(sTitle As String, sString As String, sMsg As String)
sMsg = sMsg + sTitle
If sString = "" Then
sMsg = sMsg + "NA"
Else
sMsg = sMsg + sString
End If
sMsg = sMsg & Chr$(13) & Chr$(10)
End Sub