Skip to content

hackiftekhar/IQMediaPickerController

Repository files navigation

Icon

IQMediaPickerController

GitHub license

IQMediaPickerController allows user to capture Videos, Images and Audio using AVFoundation framework. It also allows user to pick Videos, Images and Audio from the iPhone photo and media library. IQMediaPickerController contains 3 library IQMediaCaptureController, IQAssetsPickerController & IQAudioPickerController. All libraries are separate from the others, so if you want to integrate any one of them, you can copy only required library without copying others.

Key Features

  • Contains 3 library allows to pick video, photo, audio type of data
  • Can capture/record supported data and can pick from photo and audio library as well
  • Can record multiple type of data at one shoot
  • Can pick or capture/record multiple files at once
  • Can limit length of media while recording

IQMediaCaptureController

IQMediaCaptureController is used to capture multiple images, videos and audio.

Video Recorder Photo Capture Audio Recorder

IQAssetsPickerController

IQAssetsPickerController is used to pick multiple images & videos from the iPhone photo gallery.

[Photo Picker Picker]

IQAudioPickerController

IQAudioPickerController is used to pick multiple audio files from the iPhone music library.

[Audio Picker]

Installation

CocoaPods:-

CocoaPods

IQMediaPickerController:- IQMediaPickerController is available through CocoaPods, to install it simply add the following line to your Podfile:

pod 'IQMediaPickerController'

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate IQMediaPickerController into your Xcode project using Carthage, specify it in your Cartfile:

github "hackiftekhar/IQMediaPickerController"

Run carthage to build the frameworks and drag IQMediaPickerController.framework into your Xcode project.

Source Code:-

Github tag

Just drag and drop IQMediaPickerController directory to your project. That's it.

Example Usage

#import <IQMediaPickerController/IQMediaPickerController.h>

@interface ViewController ()<IQMediaPickerControllerDelegate>
@end

@implementation ViewController
{
    IQMediaPickerSelection *selectedMedias;
}

-(void)showMediaPicker
{
    IQMediaPickerController *controller = [[IQMediaPickerController alloc] init];
    controller.delegate = self;
    
    //Set additional settings if you would like to
    //[controller setSourceType:IQMediaPickerControllerSourceTypeCameraMicrophone];//or IQMediaPickerControllerSourceTypeLibrary
    //[controller setMediaTypes:@[@(PHAssetMediaTypeAudio),@(PHAssetMediaTypeVideo),@(PHAssetMediaTypeImage)]];
    //controller.captureDevice = AVCaptureDevicePositionBack;//or AVCaptureDevicePositionFront
    //controller.allowsPickingMultipleItems = YES;//or NO
    //controller.allowedVideoQualities = @[@(AVCaptureSessionPreset1920x1080),@(AVCaptureSessionPresetHigh)];

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

-(void)mediaPickerController:(IQMediaPickerController *)controller didFinishMedias:(IQMediaPickerSelection *)selection
{
    NSLog(@"Info: %@",selection);   //Here you'll get the information about captured or picked assets

    selectedMedias = selection;

    [self.tableView reloadData];
}

- (void)mediaPickerControllerDidCancel:(IQMediaPickerController *)controller;
{
}

@end

LICENSE

Distributed under the MIT License.

Contributions

Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.

Author

If you wish to contact me, email at: hack.iftekhar@gmail.com

About

Audio Image Video Picker Controller

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published