Retrieving Photos and Videos from the Photo Library(从手机中检索相片,视频 )

1。导入库,实现协议protocol

   #import<AssetsLibrary/AssetsLibrary.h>

   #import<MobileCoreServices/MobileCoreServices.h>

   <UIImagePickerControllerDelegate,UINavigationControllerDelegate>

e.g.

- (BOOL) cameraSupportsMedia:(NSString *)paramMediaType sourceType:(UIImagePickerControllerSourceType)paramSourceType{

    __block BOOL result = NO;   

    if ([paramMediaType length] == 0){

        NSLog(@"Media type is empty.");

        return NO;

    }    

    NSArray *availableMediaTypes =  [UIImagePickerController  availableMediaTypesForSourceType:paramSourceType];    

    [availableMediaTypes  enumerateObjectsUsingBlock:

       ^(id obj, NSUInteger idx, BOOL *stop) {      

         NSString *mediaType = (NSString *)obj;

         if ([mediaType isEqualToString:paramMediaType]){

             result = YES;

             *stop= YES;

         }         

     }];   

    return result;    

}

- (BOOL) isPhotoLibraryAvailable{    

    return [UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary];   

}


- (BOOL) canUserPickVideosFromPhotoLibrary{   

    return [self  cameraSupportsMedia:(__bridge NSString *)kUTTypeMovie

            sourceType:UIImagePickerControllerSourceTypePhotoLibrary];   

}

- (BOOL) canUserPickPhotosFromPhotoLibrary{

    return [self  cameraSupportsMedia:(__bridge NSString *)kUTTypeImage

            sourceType:UIImagePickerControllerSourceTypePhotoLibrary];    

}

- (void)actionRetrieve{

    if ([self isPhotoLibraryAvailable]){          

        NSMutableArray *mediaTypes = [[NSMutableArray alloc] init];       

        if ([self canUserPickPhotosFromPhotoLibrary]){

            [mediaTypes addObject:(__bridge NSString *)kUTTypeImage];

        }

        if ([self canUserPickVideosFromPhotoLibrary]){

            [mediaTypes addObject:(__bridge NSString *)kUTTypeMovie];

        }   

        UIImagePickerController *controller = [[UIImagePickerController alloc] init];       

        controller.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;        

        controller.mediaTypes = mediaTypes;        

        controller.delegate = self;        

        [self  presentViewController:controller animated:YES completion:nil];        

    }    

}

//UIImagePickerControllerDelegate

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

    [picker  dismissViewControllerAnimated:YES completion:nil];

    NSLog(@"Picked media info = %@", info);

}

//UIImagePickerControllerDelegate

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{

    [picker dismissViewControllerAnimated:YES completion:nil];

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值