Länge eines Videos auslesen

GartenUmgraben

Erfahrenes Mitglied
Ola...

Gibt es bei C# eine Möglichkeit die Länge (in Sekunden) eines Videos auszulesen?

Das Video selbst kann dabei entweder direkt per URL übergeben werden oder aber es ist in eine (ebenfalls per URL angegebene) HTML Seite per Plugin eingebettet.

Ich denke es sollte irgendwie evtl. über den Dateiheader des Videos gehen, allerdings habe ich keinen Plan wie. Dabei stellt sich dann auch die Frage, wie man an den Dateiheader kommt, wenn die Datei mittel Plugin in eine HTML Seite engebettet ist.

Hat jmd. eine Idee?



Gruß
Gärtner
 
Ich kann das hier an der Arbeit schlecht ausprobieren, aber soweit ich das weiß, brauchst du dafür das DirectX SDK. Dann erstellst du folgende usings:

Code:
using Microsoft.DirectX;
using Microsoft.DirectX.AudioVideoPlayback;

Erstellst dir eine Variabel:
Code:
private Microsoft.DirectX.AudioVideoPlayback.Video deinVideo;

Als nächstes erstellst du eine neue Videoinstanz:
Code:
deinVideo = new Video(@"C:\deinFilm.mpg",false);

Jetzt kannst du mit deinVideo.Duration die Länge abfragen, aber ich würde dafür ne Funktion schreiben:
Code:
// So rufst du es auf Berechne_Dauer(deinVideo.Duration);

private string Berechne_Dauer(double dieLaenge)
{
	string[] Zeiten; 
	dieLaenge = (dieLaenge / 60);

	Zeiten = dieLaenge.ToString().Split(',');
	Zeiten[1] = "0," + Zeiten[1];
	Zeiten[1] = System.Math.Round(Convert.ToDouble(Zeiten[1])*60,0).ToString();

	return "Länge: " + 
	Zeiten[0] + " Min " + Zeiten[1] + " Sek";			
}

Hab das versucht aus dem Kopf nachzuprogrammieren, treten bestimmt irgendwo 1-2 Fehler auf, aber das Grundprinzip erkennst du hoffentlich. :)
 

Neue Beiträge

Zurück