iphone - 在iPhone中不使用AVCaptureSession调用UIImagePickerControl的方法

标签 iphone uiimagepickercontroller avcapturesession photolibrary avcapturedevice

我已经使用AVCaptureSession在iPhone应用程序中捕获照片。我也想从 PhotosLibrary 中获取图像。

我已经实现了 UIImagePickerController 控件及其所有方法。

我可以打开图库,但无法获取我选择的照片。以及不调用 PickerView 的方法。这些方法没有响应。

是否有任何不同的方法可以通过 AVCaptureSession 对照片库实现 UIImagePickerController 控件?

请告诉我解决方案。

或者建议我使用替代解决方案而不是Overlay,因为我想要这两种功能都具有动态控件。

提前致谢。

最佳答案

要打开照片库,请使用以下命令:

-(IBAction)pickphoto:(id)sender
{
    [self startMediaBrowserFromViewController: self usingDelegate: self];
}

- (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller
                               usingDelegate: (id <UIImagePickerControllerDelegate,
                                               UINavigationControllerDelegate>) delegate{

    if (([UIImagePickerController isSourceTypeAvailable:
          UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO)
        || (delegate == nil)
        || (controller == nil))
        return NO;

    UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
    mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

    mediaUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie,kUTTypeImage, nil];
    mediaUI.allowsEditing = YES;

    mediaUI.delegate = delegate;

    [controller presentModalViewController: mediaUI animated: YES];
    return YES;

}

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

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
 thumbnail = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
 [self dismissModalViewControllerAnimated:YES];
}

要捕获图像,请使用以下命令:

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

imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

imagePicker.delegate = self;

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

关于iphone - 在iPhone中不使用AVCaptureSession调用UIImagePickerControl的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13834610/

相关文章:

iphone - 应用程序在 iPhone 上崩溃但在模拟器上没有

ios - UIImagePickerController Camera Overlay 匹配默认裁剪

ios - 向后导航时相机进给卡住 - ios,objective-c

ios - 在 Swift 中从 iOS 摄像头源获取像素值的最有效/实时方式

ios - 如何修复 objective-c 中的字符串?

iphone - 动画 CGContextFillRect

objective-c - PrepareForSegue 与 UIImagePickerController

ios - 为什么 uiimagePickerController.mediaTypes = [kUTTypeMovie as String] 包括 Live Photos 作为 Bounce 或 Loop Effect 作为 Video?

ios - 解锁手机时 AVCapture 预览卡住/卡住

iphone - 将-replaceObjectAtIndex :withObject: of NSMutableArray release the old object that's replaced by a new one?