| |
| In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.
Hinweis: Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden! | Fragen zu Tipps & Tricks und Workshops im vb@rchivRe: Größe und Spieldauer eines AVI-Videos ermitteln | | | Autor: Che@ter | Datum: 08.05.09 13:25 |
| VB 2008
An sich gibt es nie Probleme, nur einen Weg, um sie zu l?sen. | |
Re: Größe und Spieldauer eines AVI-Videos ermitteln | | | Autor: Che@ter | Datum: 08.05.09 15:08 |
| Ich habe nur die Struktur von AVIFileInfo von Long auf IntPtr umgeändert, sonst war alles gleich. VB hat sich soweit auch nicht beschwert.
An sich gibt es nie Probleme, nur einen Weg, um sie zu l?sen. | |
Re: Größe und Spieldauer eines AVI-Videos ermitteln | | | Autor: Dieter (Moderator) | Datum: 11.05.09 09:16 |
| Das kann so nicht funktionieren. Unter VB.NET sind hier umfangreichere Änderungen notwendig:
Imports System.Runtime
Imports System.Runtime.InteropServices
Public Class Form1
' zunächst die benötigten API-Deklarationen
Private Declare Function AVIFileOpen Lib "avifil32" _
Alias "AVIFileOpenA" ( _
ByRef ppfile As Integer, _
ByVal szFile As String, _
ByVal mode As Integer, _
ByVal pclsidHandler As Integer) As Integer
Private Declare Function AVIFileRelease Lib "avifil32" ( _
ByVal pfile As Integer) As Integer
Private Declare Function AVIFileInfo Lib "avifil32" _
Alias "AVIFileInfoA" ( _
ByVal pfile As Integer, _
ByRef pfi As AVIInfo, _
ByVal lSize As Integer) As Integer
Private Declare Sub AVIFileInit Lib "avifil32" ()
Private Declare Sub AVIFileExit Lib "avifil32" ()
' AVI Info-Struktur
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
Private Structure AVIInfo
Public dwMaxBytesPerSec As Integer
Public dwFlags As Integer
Public dwCaps As Integer
Public dwStreams As Integer
Public dwSuggestedBufferSize As Integer
Public dwWidth As Integer
Public dwHeight As Integer
Public dwScale As Integer
Public dwRate As Integer
Public dwLength As Integer
Public dwEditCount As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=64)> _
Public szFileType As String
End Structure
' Breite und Höhe der animierten Bildsequenz ermitteln
' (Rückgabewert erfolgt in Pixel!!!)
Public Sub AVI_GetSize(ByVal sFile As String, _
ByRef nWidth As Integer, ByRef nHeight As Integer)
Dim hFile As Integer
Dim AviInfo As New AVIInfo
' Fehlerbehandlung aktivieren
On Error Resume Next
' Initialisieren
AVIFileInit()
' AVI öffnen (Handle erstellen)
If AVIFileOpen(hFile, sFile, &H20, 0&) = 0 Then
' Infos lesen
If AVIFileInfo(hFile, AviInfo, Marshal.SizeOf(AviInfo)) = 0 Then
nWidth = AviInfo.dwWidth
nHeight = AviInfo.dwHeight
End If
AVIFileRelease(hFile)
End If
' Beenden
AVIFileExit()
On Error GoTo 0
End Sub
' Länge (Spieldauer) ermitteln
' (Rückgabewert erfolgt in Millisekunden)
Public Function AVI_GetLength(ByVal sFile As String) As Integer
Dim hFile As Integer
Dim AviInfo As New AVIInfo
Dim nLength As Integer
' Fehlerbehandlung aktivieren
On Error Resume Next
' Initialisieren
AVIFileInit()
' AVI öffnen (Handle erstellen)
If AVIFileOpen(hFile, sFile, &H20, 0) = 0 Then
' Infos lesen
If AVIFileInfo(hFile, AviInfo, Marshal.SizeOf(AviInfo)) = 0 Then
nLength = AviInfo.dwLength
End If
AVIFileRelease(hFile)
End If
' Beenden
AVIFileExit()
On Error GoTo 0
' Rückgabewert
Return nLength
End Function
... _________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de | |
Re: Größe und Spieldauer eines AVI-Videos ermitteln | | | Autor: Fabi99 | Datum: 28.04.15 20:31 |
| Hallo,
vielen Dank für das Codebeispiel. Ich habe den umgeschriebenen Code für VB.NET verwendet. Bei mir funktioniert soweit alles, allerdings gibt die Funktion AVI_GetLength einen Wert zurück, der nicht mit der Dauer in Millisekunden des Videos übereinstimmt. Beispielsweise lautet der Rückgabewert bei einer tatsächl. Länge von 11 Sekunden "300".
Gibt es eine Möglichkeit, dieses Problem zu beheben?
Microsoft Visual Studio 2013, Windows 8.1 64 bit.
Vielen Dank im Voraus,
Fabi99 | |
Re: Größe und Spieldauer eines AVI-Videos ermitteln | | | Autor: CioTec | Datum: 04.10.22 14:31 |
| Auch wenn der Eintrag schon alt ist...
hat jemand Erfahrung wie das mit MP4 und anderen Files funktioniert ?
Martin Domian
CioTec Ltd
F37 Waterfront Studios 1 Dock Road
London E16 1AH United Kingdom
Tel.: +44 7810 255482
Mail: MDomian@ciotec.de
URL: http://www.ciotec.de
UTR 64446 15259 (Unique Taxpayer Reference) Company No 10914665
| |
| Sie sind nicht angemeldet! Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2024 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
|
|