[C#] Länge eines Videos ermitteln

Vor kurzem wurde im Forum von Tutorials.de von einem User nachgefragt, wie man die Länge eines Videos ermitteln kann. Dabei bin ich auf folgende Lösung gekommen, eventuell interessiert es ja jemanden. Dazu sei gesagt das Ihr dafür das DirectX SDK braucht.

  1.  
  2. using Microsoft.DirectX;
  3. using Microsoft.DirectX.AudioVideoPlayback;

Erstellt nun eine Variable:

  1.  
  2. private Video euerVideo;

Als nächstes erstellt Ihr euch eine neue Videoinstanz:

  1.  
  2. euerVideo = new Video(@"C:\deinFilm.mpg",false);

Jetzt könnt Ihr mit euerVideo.Duration die Länge abfragen. Komfortabler ist es aber dazu ne Funktion zu schreiben:

  1.  
  2. // So rufst Ihr die Funktion auf Berechne_Dauer(deinVideo.Duration);
  3. private string Berechne_Dauer(double dieLaenge)
  4. {
  5. string[] Zeiten;
  6. dieLaenge = (dieLaenge / 60);
  7. Zeiten = dieLaenge.ToString().Split(',');
  8. Zeiten[1] = "0," + Zeiten[1];
  9. Zeiten[1] = System.Math.Round(Convert.ToDouble(Zeiten[1])
  10. *60,0).ToString();
  11. return "Länge: " +
  12. Zeiten[0] + " Min " + Zeiten[1] + " Sek";
  13. }

Einen Kommentar schreiben