Ich versuche seit einiger Zeit, ein Programm zu schreiben, das mir kompfortabel meine Filme verwaltet. Es soll u.a. Dauer, Qualität (Auflösung) und Größe des Films auslesen. Die Größe funktioniert bei jeder Datei mit FileInfo.Length, soweit kein Problem. Den Rest versuche ich mit dem DirectX SDK auszulesen:
CODE
Video vid = new Video(pfad, false);
dauer = vid.Duration / 60;
if (dauer > 60)
{
dauersuff = " h";
dauer /= 60;
}
else
{
dauersuff = " min";
}
qualitaet = vid.DefaultSize;
dauer = vid.Duration / 60;
if (dauer > 60)
{
dauersuff = " h";
dauer /= 60;
}
else
{
dauersuff = " min";
}
qualitaet = vid.DefaultSize;
Allerdings gibt es beim Format .mkv eine DirectX Exception (VFW_E_UNSUPPORTED_STREAM), Bei manchen Filmen (.avi) ebenfalls (E_NOINTERFACE). Schätze das liegt am Codec oder ähnlichem. Außerdem ist das Programm nicht sonderlich schnell, da für jeden Film ein Video zum Abspielen vorbereitet wird.
Wie kann ich solche Infos sonst aus einer Datei auslesen (Der Win-Explorer kann es schließlich auch).
Unterstüzt werden sollen avi, mpg, mkv und evtl. mp4.
Könnte man es mit verschiedenen Player-SDKs probieren (KM-Player,VLC,...) oder stehen die Infos am Ende der Datei (wie z.B. bei ID3 Tags)?
Thx schonmal,
Wsmhr?.