使用TZImagePickerController选图片和选视频

选图片

    TZImagePickerController *pickerVC = [[TZImagePickerController alloc] init];
    pickerVC.allowPreview = YES;
    pickerVC.allowTakeVideo = NO;
    pickerVC.maxImagesCount = 9;
    
    UIColor *themeColor = [UIColor whiteColor];
    pickerVC.naviBgColor = themeColor;
    pickerVC.navigationBar.barTintColor = themeColor;
    pickerVC.naviTitleColor = [UIColor blackColor];
    pickerVC.navigationBar.translucent = YES;
    pickerVC.modalPresentationStyle = UIModalPresentationFullScreen;
    pickerVC.barItemTextColor = [UIColor blackColor];
    pickerVC.navigationBar.tintColor = [UIColor blackColor];
    pickerVC.statusBarStyle = UIStatusBarStyleDefault;
    
    [[self rootVC] presentViewController:pickerVC animated:YES completion:nil];
    [pickerVC setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) {
         //
    }];

选视频

    TZImagePickerController *pickerVC = [[TZImagePickerController alloc] init];
    pickerVC.allowPreview = YES;
    pickerVC.allowTakeVideo = NO;
    pickerVC.maxImagesCount = 1;
    pickerVC.allowPickingVideo = YES;
    pickerVC.allowPickingImage = NO;
    pickerVC.allowPickingMultipleVideo = YES;
    
    UIColor *themeColor = [UIColor whiteColor];
    pickerVC.naviBgColor = themeColor;
    pickerVC.navigationBar.barTintColor = themeColor;
    pickerVC.naviTitleColor = [UIColor blackColor];
    pickerVC.navigationBar.translucent = YES;
    pickerVC.modalPresentationStyle = UIModalPresentationFullScreen;
    pickerVC.barItemTextColor = [UIColor blackColor];
    pickerVC.navigationBar.tintColor = [UIColor blackColor];
    pickerVC.statusBarStyle = UIStatusBarStyleDefault;
    
    UIViewController *rootVC = [UIApplication sharedApplication].delegate.window.rootViewController;
    [rootVC  presentViewController:pickerVC animated:YES completion:nil];
    
    [pickerVC setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto) {
        PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
        options.version = PHVideoRequestOptionsVersionOriginal;
        options.deliveryMode = PHVideoRequestOptionsDeliveryModeFastFormat;
        options.networkAccessAllowed = YES;
        PHImageManager *manager = [PHImageManager defaultManager];
         PHAsset *phAsset = assets[0];
         [manager requestPlayerItemForVideo:phAsset options:options resultHandler:^(AVPlayerItem * _Nullable playerItem, NSDictionary * _Nullable info) {
                    if (playerItem != nil) {
                        AVURLAsset *urlAsset = (AVURLAsset *)playerItem.asset;
                        NSURL *url = urlAsset.URL;
                    }
          }];
   }];
posted @ 2024-09-23 22:27  CoderWGB  阅读(94)  评论(0)    收藏  举报