1

私はあなたが写真ライブラリから既存のビデオを選択する可能性があるよりも単純なアプリを持っています、またはあなたはUIImagePickerControllerでビデオを撮ることができます。

カメラで新しいビデオを作成するときに、将来必要になった場合にフォトギャラリーに保存できるように、次のコードを追加しました。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

// Get the selected Video.
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
// Convert to Video data.
NSData *imageData = [NSData dataWithContentsOfURL:videoURL];

// Save Video to Photo Album
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSURL *recordedVideoURL= [info objectForKey:UIImagePickerControllerMediaURL];
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:recordedVideoURL]) {
    [library writeVideoAtPathToSavedPhotosAlbum:recordedVideoURL
                                completionBlock:^(NSURL *assetURL, NSError *error){}
     ];
} 
[library release];

[picker dismissModalViewControllerAnimated:NO];

}

今私の問題は、フォトライブラリからビデオを選択すると、このコードが常に新しいビデオを保存するため、この同じビデオが複製されることです。

フォトライブラリからビデオを選択したかどうかを検出する方法ですか?

4

1 に答える 1

2

ビデオを保存する前に、imagePickerControllerのsourceTypeを確認してください。sourceTypeがUIImagePickerControllerSourceTypeCameraの場合にのみ、ビデオを保存します。

if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
    // Save the video 
}
于 2012-05-18T12:29:56.360 に答える