2015-08-14 12 views
5

Ich möchte die auf meinem iPhone gespeicherten Videos auf meinem Google Drive speichern. Ich habe bereits mit Bildern gemacht, aber mit Videos, es ist ein anderes Problem ...iOS: Wie konvertiert man ein Video PHAsset zu NSData

Für Bilder, kein Problem, konvertiere ich meine Asset zu einem NSData mit dieser Methode:

data = UIImagePNGRepresentation(result!)! 

und ich habe das Bild zu meiner Fahrt!

Aber für Videos habe ich viele verschiedene Möglichkeiten ausprobiert, aber nein, kann ich nicht.

Wie kann ich tun?

Vielen Dank!

+0

Welches Format hat die Datei ('.mp4')? Überprüfen Sie die Antwort [in dieser verwandten Frage und lassen Sie mich wissen, wenn dies Ihnen hilft] (http://stackoverflow.com/a/19565488/981049). –

+0

Ich weiß es nicht, aber es sind die auf meinem iPhone gespeicherten Videos, die ich mit der Kamera des iPhone erstelle, es ist wahrscheinlich .mov denke ich. –

Antwort

15

Ich habe es geschafft! Diese

ist die Lösung:

PHCachingImageManager().requestAVAssetForVideo(asset, options: nil, resultHandler: {(asset: AVAsset?, audioMix: AVAudioMix?, info: [NSObject : AnyObject]?) in 
     dispatch_async(dispatch_get_main_queue(), { 

      let asset = asset as? AVURLAsset 
      var data = NSData(contentsOfURL: asset.URL) 
    }) 
}) 

Und nach, haben Sie die gute NSData Variable, die Sie verwenden können, Ihr Video in die Cloud zu setzen!

+0

Diese Lösung funktioniert nicht mit Zeitlupenvideos! – user3298158

+0

Es funktioniert nicht. Die richtige Lösung ist [how-to-Get-Nsdata-aus-Datei-by-using-phasset] (http://stackoverflow.com/questions/35652094/how-to-get-nsdata -von-Datei-by-using-phasset) – Xingxing

Verwandte Themen