Visual Basic (vb.net): получить подробную информацию о видеофайле, например. ширина кадра
Я использую shell32.dll для получения расширенных свойств файла, мое текстовое поле будет отображать каждое свойство файла (iCollumn -1 до 300). но он не будет показывать ширину кадра или высоту кадра (и многие другие свойства). если вы не можете понять, как ее решить, вы можете привести меня к альтернативному методу.
примечания: у меня есть расширения, показанные в проводнике Windows, мой проект ссылается на элементы управления оболочки Microsoft и автоматизации
код:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objShell As Shell32.Shell
Dim objFolder As Shell32.Folder
objShell = New Shell32.Shell
objFolder = objShell.NameSpace("C:\Users\Sam\Videos")
If (Not objFolder Is Nothing) Then
Dim objFolderItem As Shell32.FolderItem
objFolderItem = objFolder.ParseName("Kick_Ass.avi")
If (Not objFolderItem Is Nothing) Then
Dim szItem As String
szItem = objFolder.GetDetailsOf(objFolderItem, 168)
End If
For i = -1 To 300
TextBox1.Text += i & “: ” & objFolder.GetDetailsOf(objFolderItem, i) & vbCrLf
Next
objFolderItem = Nothing
End If
objFolder = Nothing
objShell = Nothing
End Sub
вывод (ради пространства я только отображал результаты, которые не отображали "":
-1: Item type: VLC media file (.avi)
Size: 1.36 GB
Length: 01:52:53
Availability: Available offline
0: Kick_Ass.avi
1: 1.36 GB
2: VLC media file (.avi)
3: 10/05/2010 12:49 AM
4: 11/02/2016 1:59 PM
5: 11/02/2016 1:59 PM
6: A
8: Available offline
9: Video
10: Sam-PC\Sam
11: Video
19: Unrated
27: 01:52:53
28: 384kbps
29: No
50: 930 GB
54: SAM-PC (this PC)
157: .avi
158: Kick_Ass.avi
162: 813 GB
180: No
183: Videos
184: C:\Users\Sam\Videos
185: Videos (C:\Users\Sam)
187: C:\Users\Sam\Videos\Kick_Ass.avi
189: VLC media file (.avi)
246: 12%
286: Sam-PC\HomeUsers
287: Shared
288: Available
0 ответов
Ширина видеокадра указана в индексе i = 316
(это будет содержать значение, например, 1920).
Высота видеокадра в индексе i = 314
(это будет содержать значение, например, 1080).
Индекс возможного objFolderItem
детали, кажется, идут так высоко, как i = 320
,