Wie kann am schnellsten festgestellt werden, ob es sich bei einer Datei um ein abspielbares Video handelt? Es geht mir nicht darum, dass es korrupt ist oder nicht, sondern nur, ob es ein Mime-Typ ist, der auf dem iPad spielbar sein soll.
Ich habe mit dem Schieben der Datei durch eine NSURL
gespielt, wie von einer anderen Frage vorgeschlagen, aber das kann & gt; 1 Sekunde pro Datei, die zu langsam ist.
Ich schaue mir gerade die Dateierweiterung an, hätte aber lieber etwas, das sicherer ist.
Ich würde es lieben, UTIs intern in der App zu verwenden, aber ich habe auch keinen offensichtlichen Weg aus dieser Richtung gefunden. Wenn jemand einen Weg kennt, an der UTI einer Datei auf 3.2 zu kommen, würde das funktionieren.
Der Befehl file(1)
(und der zugehörige libmagic
) kann diesen Job auf Standard-Unix-Systemen ausführen; Wenn Apple es nicht in das Telefon-Betriebssystem aufgenommen hat, können Sie es wahrscheinlich selbst auf dem Telefon ausführen. (Auf meinem x86-64 Linux System ist die Bibliothek 109k.)
Auf meinem Computer wurden 146 leicht zugängliche Videos in weniger als sieben Sekunden in 18 verschiedene Formate eingeteilt. (120 Gigabyte.) Es hat etwas falsch gemacht:
%Vor%Bei diesen Geschwindigkeiten können Sie vielleicht ein wenig Lärm tolerieren und auf einen langsameren Mechanismus zurückgreifen; oder vielleicht füllen Sie die Regeln mit Formaten, die es noch nicht kennt.
Lesen Sie die Kopfzeile und suchen Sie nach Codec-Details?
Mediainfo ist ein Opensource-Video-Datei-Info-Analysator
Tut mir leid, ich kenne keine ipad-spezifischen Sachen
Ich würde sagen, was Sie tun müssen, ist die UTI der Datei, die auf dem Desktop mit LaunchServices erledigt werden würde. Ich weiß nicht, ob Apple eine API veröffentlicht, um dies auf iOS zu tun.
Wenn Sie die Dateierweiterung nicht überprüfen können, sollten Sie die Datei nicht einfach abspielen können und das Movie Player-Objekt dem Delegierten signalisieren, dass es nicht abgespielt werden kann? Oder im schlimmsten Fall können Sie versuchen, einen fiesen Versuch / fangen.
Im Allgemeinen geben die ersten paar Bytes der Datei den Dateityp an. Das machen libmagic
und% file
. Wenn Sie libmagic nicht auf iOS-Systemen erstellen möchten, können Sie sich einfach ansehen, was es tut, und die gewünschte Teilmenge der Nachschlagetabelle abrufen.
Tags und Links objective-c video ipad