Entwickler-Ecke
IO, XML und Registry - Video-Auflösung aus beliebigen Video-Dateien auslesen
Palladin007 - Mo 10.12.12 22:14
Titel: Video-Auflösung aus beliebigen Video-Dateien auslesen
Abend :)
Ich hab hier eine Methode (Quelle weiß ich leider nicht mehr):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| internal static class FileInfoExtensions { public static Dictionary<string, string> GetDetails(this FileInfo fi) { Dictionary<string, string> ret = new Dictionary<string, string>(); var shl = (Shell)Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application")); Folder folder = shl.NameSpace(fi.DirectoryName); FolderItem item = folder.ParseName(fi.Name); for (int i = 0; i < 150; i++) { string dtlDesc = folder.GetDetailsOf(null, i); string dtlVal = folder.GetDetailsOf(item, i); if (dtlVal == null || dtlVal == "") continue; ret.Add(dtlDesc, dtlVal); } return ret; } } |
Die liest mit Hilfe der Shell32.dll die Details aus den Eigenschaften einer Datei. Das funktioniert auch ganz wunderbar, aber ich würde auch gerne die Bild-Auflösung haben.
In den Details stehen Höhe und Breite. Zur Not reicht das zum ausrechnen ja eigentlich, soweit ich weiß.
Aber nicht einmal Höhe und Breite wird im Programm mit ausgelesen.
Weiß jemand, wie ich dennoch die Auflösung bekomme?
Ich kann/möchte nicht für einzelne Formate das regeln, weil die in meiner Sammlung bunt gemischt sind und mir reicht es ja, wenn das ausgelesen wird, solange Windows es anzeigen kann. Wenn Windows es auch nicht kennt, bleibt das halt leer, so wild ist das auch nicht.
Wenn die Info also nicht gegeben ist, ist das egal. Auch bei den bisherigen Details ist nicht immer alles gegeben, das prüfe ich intern nach und frage dann nach der Angabe durch den Nutzer und so wollte ich das auch hier machen.
Gruß
Edit: Ich hab grad meinen Irrtum entdeckt. Die Datei liest nicht die Details, sondern die allgemeinen Eigenschaften aus. Aber dennoch bleibt die Frage: Kann ich irgendwie die Auflösung von jeder Datei auslesen und wenn es keine gibt, einfach nix?
Palladin007 - Di 11.12.12 15:53
Danke für den Tipp, ich probier einfach mal alle vier aus ^^
Was bedeutet die Zahl eigentlich? Ich hab sie nur so übernommen und nicht groß geschaut, was intern passiert. ^^
PS: Der Link ist auch ganz interessant. Ich denke mal, ich übernehm das dort und erweitere die Klasse dann nach meinen Vorstellungen oder passe sie entsprechend an. ^^
Ralf Jansen - Di 11.12.12 16:08
Ist der Spaltenindex (nicht der visuelle) der Spalten in der Ordneransicht. Welchen Wert du genau brauchst ist leider ordnerabhängig. Ob der Index für die Info die du wissen willst 263 oder 283 oder was auch immer ist ist nicht einfach vorhersagbar.
Palladin007 - Di 11.12.12 17:21
Daher ist das also in die Schleife gesetzt und dann wird geprüft, ob ein Wert vorhanden ist.
Jetzt versteh ich es, danke ^^
Edit:
Ich lass jetzt einfach bis 300 durchlaufen, dann passt das schon ^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!