vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 662: Größe und Spieldauer eines AVI-Videos ermitteln 
Autor: Che@ter
 Tipp anzeigenDatum: 06.05.09 19:02

Ich habe den Code so übernommen, nur die Variablen in der AviFileInfo habe ich jeweils unter Integer, IntPtr und Long getestet. Unter keiner Variante ist bei AVIFileInfo ein Wert heraus gekommen, auch wenn der Wert 0 ergibt.

Mfg Che@ter

An sich gibt es nie Probleme, nur einen Weg, um sie zu l?sen.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Größe und Spieldauer eines AVI-Videos ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 08.05.09 07:54

In welcher Entwicklungsumgebung arbeitest Du?

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: 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.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Größe und Spieldauer eines AVI-Videos ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 08.05.09 15:05

Und wie sieht dann Dein Code aus (vor allem die Variablen- und Parameter-Deklarationen)?
Weil: der Tipp, auf den Du Dich beziehst, wurde für VB6 erstellt.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Größe und Spieldauer eines AVI-Videos ermitteln 
Autor: ModeratorDieter (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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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