| |

VB & Windows APIRe: MPEG-Video : Höhe und Breite ermitteln | |  | Autor: cybercow | Datum: 05.04.06 11:12 |
| Erst einmal Danke an Martoeng für den Tipp.
Habe es eben ausprobiert.
Mit AVI-Dateien funktioniert es auch sehr gut, jedoch mit MPEG-Dateien
nicht. Setze ich den Type des Videos beim öffnen der Datei auf MPEGVideo und benutze eine MPEG1/2-Videodatei so stürzt mein VB-Script ab. Setze ich den Type des Videos beim öffnen der Datei auf MPEGVideo2 und benutze eine MPEG1/2-Videodatei, so kommt als Rückgabewert immer nur "0".
Vielleicht kann man mir besser helfen wenn ich den Code mal mitposte, den ich verwendet habe:
Option Explicit
' benötigte API-Deklarationen
Private Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" ( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" ( _
ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long
' MPEG-File öffnen
Private Sub MPEG_Open(ByVal sFile As String)
Dim sBuffer As String * 256
Dim nResult As Long
' DOS-Namen ermitteln (8.3-Format)
nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
sFile = Left$(sBuffer, nResult)
' MPEG öffnen
' öffnet ein Gerät und eine Multimedia-Datei
mciSendString "open " & sFile & " type MPEGVideo" & _
" alias myMPEG", 0, 0, 0
End Sub
Public Function MPEG_GetWidth(ByVal sFile As String) As Long
Dim sReturn As String
Dim nResult As Long
Dim nWidth As Long
'Video öffnen
MPEG_Open (sFile)
' Buffer füllen
sReturn = Space(255)
' Größe ermitteln
nResult = mciSendString("where MyMPEG destination", _
sReturn, Len(sReturn), 0)
If InStr(sReturn, Chr$(0)) > 0 Then
sReturn = Left$(sReturn, InStr(sReturn, Chr$(0)) - 1)
End If
If sReturn <> "" Then
sReturn = Mid$(sReturn, InStr(1, sReturn, " "))
sReturn = Mid$(sReturn, InStr(2, sReturn, " ") + 1)
nWidth = CLng(Mid$(sReturn, 1, InStr(1, sReturn, " ") - 1))
MPEG_GetWidth = nWidth
End If
End Function |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|