MPMoviePlayerController - Dauer immer 0

8

iPhone4, iOS 4.3.3, iOS SDK4.3

Hallo alle,

Ich erstelle eine Video-Upload-Funktion. Die Videos werden mithilfe von UIImagePickerController abgerufen und können mit der Kamera aufgenommen oder aus der Fotobibliothek ausgewählt werden. Ich habe eine Anwendungsbeschränkung von maximal 60 Sekunden Dauer. Dies wird leicht erreicht, wenn Sie das Video mit der Kamera über:

aufnehmen

// Videos auf 60 Sekunden beschränken

[Picker setVideoMaximumDuration: 60];

Wenn das Video jedoch aus der Fotobibliothek ausgewählt wird, sehe ich die Dauer nur über die Dauer der MPMoviePlayerController-Eigenschaft wie folgt:

// MediaType kann kUTTypeImage oder kUTTypeMovie sein.

NSString * mediaType = [info objectForKey: UIImagePickerControllerMediaType]; NSLog (@ "% @", mediaType);

// wenn es ein Film ist

%Vor%

aber die Dauer ist immer 0. Ich weiß, dass das Video eine Dauer hat, weil die Dauer als Teil des Untertitels angezeigt wird, wenn es in der Fotobibliothek ausgewählt wird. Ich verstehe, dass die Dauer möglicherweise nicht immer verfügbar ist, aber in diesem Fall wird die Dauer in Photo Lib angezeigt. Ich überprüfe auch die contentURL-Eigenschaft und es hat einen guten Wert. Ich bin in der Lage, die Datei abzurufen, ihre Dateigröße usw. zu erhalten, damit ich weiß, dass die NSURL der Datei gut ist ...

Danke!

    
imobilizer 12.05.2011, 18:49
quelle

1 Antwort

16

Ich sehe nichts unmittelbar falsch mit Ihrem Code. Die Verwendung von AVFoundation ist jedoch für diese Art von Operation viel schneller. Hier ist ein Code-Snippet, um die Dauer mit AVFoundation zu erhalten:

%Vor%     
memmons 13.05.2011 00:09
quelle