{"id":1414,"url":"https://github.com/hackiftekhar/IQAudioRecorderController","last_synced_at":"2025-08-02T04:31:02.439Z","repository":{"id":25944994,"uuid":"29386524","full_name":"hackiftekhar/IQAudioRecorderController","owner":"hackiftekhar","description":"A drop-in universal library allows to record audio within the app with a nice User Interface.","archived":false,"fork":false,"pushed_at":"2018-10-11T07:05:43.000Z","size":998,"stargazers_count":637,"open_issues_count":8,"forks_count":140,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-10-14T12:09:20.836Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackiftekhar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-17T09:33:32.000Z","updated_at":"2024-09-10T15:01:45.000Z","dependencies_parsed_at":"2022-08-20T20:50:22.884Z","dependency_job_id":null,"html_url":"https://github.com/hackiftekhar/IQAudioRecorderController","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQAudioRecorderController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQAudioRecorderController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQAudioRecorderController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackiftekhar%2FIQAudioRecorderController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackiftekhar","download_url":"https://codeload.github.com/hackiftekhar/IQAudioRecorderController/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227998834,"owners_count":17853788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:45.901Z","updated_at":"2024-12-06T08:30:58.224Z","avatar_url":"https://github.com/hackiftekhar.png","language":"Objective-C","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/hackiftekhar/IQAudioRecorderController/master/Screenshot/iconScreenshot.png\" alt=\"Icon\"/\u003e\n\u003c/p\u003e\n\u003cH1 align=\"center\"\u003eIQAudioRecorderController\u003c/H1\u003e\n\n`IQAudioRecorderController` is a drop-in universal library allows to record and crop audio within the app with a nice User Interface. There are also optional callback delegate methods to return recorded file path.\n\n![Idle](./Screenshot/Screenshot_Idle.jpeg)\n![Recording](./Screenshot/Screenshot_Recording.jpg)\n![Playing](./Screenshot/Screenshot_Playing.jpeg)\n![No Access](./Screenshot/Screenshot_Cropping.jpg)\n\n## Installation\n\n#### CocoaPods\nYou can use [CocoaPods](http://cocoapods.org/) to install `IQAudioRecorderController` by adding it to your `Podfile`:\n\n```ruby\nplatform :ios, '8.0'\nuse_frameworks!\npod 'IQAudioRecorderController'\n```\n\nTo get the full benefits import `IQAudioRecorderController` wherever you import UIKit\n\n``` swift\nimport UIKit\nimport IQAudioRecorderController\n```\n\n#### Manually\n1. Download and drop ```/IQAudioRecorderController```folder in your project.  \n2. Congratulations!\n\n## Supported format\nCurrently `IQAudioRecorderController` library only support **.m4a** file format.\n\n## Customization\nThere are optional properties to customize the appearance according to your app theme.\n\n***barStyle: UIBarStyle:***\nLibrary support light and dark style UI for user interface. If you would like to present light style UI then you need to set barStyle to UIBarStyleDefault, otherwise dark style UI is the default.\n\n***normalTintColor: UIColor:***\nThis tintColor is used for showing wave tintColor while not recording, it is also used for top navigationBar and bottom toolbar tintColor.\n\n***highlightedTintColor: UIColor:***\nHighlighted tintColor is used when playing recorded audio file or when recording audio file.\n\n## How to use\n\nThere are two seprate classes to Record and Crop Audio files.\n\nTo Record audio file, try something like this:-\n\n```objc\n#import \"IQAudioRecorderViewController.h\"\n\n@interface ViewController ()\u003cIQAudioRecorderViewControllerDelegate\u003e\n@end\n\n@implementation ViewController\n\n- (void)recordAction:(id)sender {\n    IQAudioRecorderViewController *controller = [[IQAudioRecorderViewController alloc] init];\n    controller.delegate = self;\n    controller.title = \"Recorder\";\n    controller.maximumRecordDuration = 10;\n    controller.allowCropping = YES;\n//    controller.barStyle = UIBarStyleDefault;\n//    controller.normalTintColor = [UIColor magentaColor];\n//    controller.highlightedTintColor = [UIColor orangeColor];\n    [self presentBlurredAudioRecorderViewControllerAnimated:controller];\n}\n\n-(void)audioRecorderController:(IQAudioRecorderViewController *)controller didFinishWithAudioAtPath:(NSString *)filePath {\n    //Do your custom work with file at filePath.\n    [controller dismissViewControllerAnimated:YES completion:nil];\n}\n\n-(void)audioRecorderControllerDidCancel:(IQAudioRecorderViewController *)controller {\n    //Notifying that user has clicked cancel.\n    [controller dismissViewControllerAnimated:YES completion:nil];\n}\n\n@end\n```\n\nTo Crop audio file, try something like this:-\n\n```objc\n#import \"IQAudioCropperViewController.h\"\n\n@interface ViewController ()\u003cIQAudioCropperViewControllerDelegate\u003e\n@end\n\n@implementation ViewController\n\n-(void)cropAction:(id)item {\n    IQAudioCropperViewController *controller = [[IQAudioCropperViewController alloc] initWithFilePath:filePath];\n    controller.delegate = self;\n    controller.title = \"Edit\";\n//    controller.barStyle = UIBarStyleDefault;\n//    controller.normalTintColor = [UIColor magentaColor];\n//    controller.highlightedTintColor = [UIColor orangeColor];\n    [self presentBlurredAudioCropperViewControllerAnimated:controller];\n}\n\n-(void)audioCropperController:(IQAudioCropperViewController *)controller didFinishWithAudioAtPath:(NSString *)filePath {\n    //Do your custom work with file at filePath.\n    [controller dismissViewControllerAnimated:YES completion:nil];\n}\n\n-(void)audioCropperControllerDidCancel:(IQAudioCropperViewController *)controller {\n    //Notifying that user has clicked cancel.\n    [controller dismissViewControllerAnimated:YES completion:nil];\n}\n\n@end\n```\n\n## Attributions\n\nThanks to [Stefan Ceriu](https://github.com/stefanceriu) for his brilliant [SCSiriWaveformView](https://github.com/stefanceriu/SCSiriWaveformView) library.\n\nThanks to [William Entriken](https://github.com/fulldecent) for his [FDWaveformView](https://github.com/fulldecent/FDWaveformView) library.\n\n## LICENSE\n\nDistributed under the MIT license. See ``LICENSE`` for more information.\n\n## Contributions\n\nAny contribution is more than welcome! You can contribute through pull requests and issues on GitHub.\n\n## Author\n\nIf you wish to contact me, email at: hack.iftekhar@gmail.com\n","funding_links":[],"categories":["Media","UI Components"],"sub_categories":["Audio","Other free courses"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackiftekhar%2FIQAudioRecorderController","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackiftekhar%2FIQAudioRecorderController","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackiftekhar%2FIQAudioRecorderController/lists"}