2014-03-02 2 views
10

Wenn ich ein Video in Fotos Album speichern, indem Sie UISaveVideoAtPathToSavedPhotosAlbum, wie kann ich es neue Asset-URL in Assets-Bibliothek abrufen: //asset/asset.mov .... FormatUISaveVideoAtPathToSavedPhotosAlbum Ausgang

//outputURL.path is : file:///private/var/mobile/Applications/4535724C-7ABD-4F00-A363-9A62022F8EB0/tmp/trim.E8CD7632-7C52-4EA4-A462-8C5131B214AA.MOV.exp.mov 

UISaveVideoAtPathToSavedPhotosAlbum(outputURL.path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil); 

Antwort

4

Statt UISaveVideoAtPathToSavedPhotosAlbum, können Sie die -[ALAssetsLibrary writeVideoAtPathToSavedPhotosAlbum:(NSURL *)videoPathURL completionBlock (ALAssetsLibraryWriteVideoCompletionBlock)completionBlock] Methode verwenden (Apple Documentation here)

Zum Beispiel:

ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init]; 
[library writeVideoAtPathToSavedPhotosAlbum:videoPathURL 
          completionBlock:^(NSURL *assetURL, NSError *error) 
{ 
    /* process assetURL */ 
}]; 

Wichtiger Hinweis: Bei ALAssetsLibrary ist zu beachten, dass die Eigenschaft "AssetURL" nur für die Lebensdauer der ALAssentsLibrary-Instanz gültig ist. Stellen Sie sicher, dass Sie einen Verweis auf die Bibliothek aufbewahren, bis Sie die Verarbeitung der AssetURL und aller zugehörigen ALAsset abgeschlossen haben.