IQAudioRecorderController
IQAudioRecorderController
是一个通用的嵌入式库,允许您在应用程序中以美观的用户界面录制和裁剪音频。此外,还有可选的回调代理方法,用于返回已录制文件的路径。
安装
CocoaPods
您可以通过将 IQAudioRecorderController
添加到您的 Podfile
中,使用 CocoaPods 安装 IQAudioRecorderController
。
platform :ios, '8.0'
use_frameworks!
pod 'IQAudioRecorderController'
为了获得完整的益处,在导入 UIKit 的任何地方导入 IQAudioRecorderController
import UIKit
import IQAudioRecorderController
手动安装
- 下载并将
/IQAudioRecorderController
文件夹拖入您的项目中。 - 恭喜!
支持的格式
目前 IQAudioRecorderController
库仅支持 .m4a 文件格式。
定制化
有一些可选的属性可以根据您的应用主题自定义外观。
barStyle: UIBarStyle: 库支持用户界面的浅色和深色风格界面。如果您想展示浅色风格界面,则需要将 barStyle 设置为 UIBarStyleDefault,否则深色风格界面为默认。
normalTintColor: UIColor: 该 tintColor 用于在不录制时显示波形 tintColor,也用于顶部导航栏和底部工具栏的 tintColor。
highlightedTintColor: UIColor: 高亮 tintColor 用于播放已录制的音频文件或录制音频文件时。
如何使用
有两个单独的类用于录制和裁剪音频文件。
要录制音频文件,可以尝试以下示例:
#import "IQAudioRecorderViewController.h"
@interface ViewController ()<IQAudioRecorderViewControllerDelegate>
@end
@implementation ViewController
- (void)recordAction:(id)sender {
IQAudioRecorderViewController *controller = [[IQAudioRecorderViewController alloc] init];
controller.delegate = self;
controller.title = "Recorder";
controller.maximumRecordDuration = 10;
controller.allowCropping = YES;
// controller.barStyle = UIBarStyleDefault;
// controller.normalTintColor = [UIColor magentaColor];
// controller.highlightedTintColor = [UIColor orangeColor];
[self presentBlurredAudioRecorderViewControllerAnimated:controller];
}
-(void)audioRecorderController:(IQAudioRecorderViewController *)controller didFinishWithAudioAtPath:(NSString *)filePath {
//Do your custom work with file at filePath.
[controller dismissViewControllerAnimated:YES completion:nil];
}
-(void)audioRecorderControllerDidCancel:(IQAudioRecorderViewController *)controller {
//Notifying that user has clicked cancel.
[controller dismissViewControllerAnimated:YES completion:nil];
}
@end
要裁剪音频文件,可以尝试以下示例:
#import "IQAudioCropperViewController.h"
@interface ViewController ()<IQAudioCropperViewControllerDelegate>
@end
@implementation ViewController
-(void)cropAction:(id)item {
IQAudioCropperViewController *controller = [[IQAudioCropperViewController alloc] initWithFilePath:filePath];
controller.delegate = self;
controller.title = "Edit";
// controller.barStyle = UIBarStyleDefault;
// controller.normalTintColor = [UIColor magentaColor];
// controller.highlightedTintColor = [UIColor orangeColor];
[self presentBlurredAudioCropperViewControllerAnimated:controller];
}
-(void)audioCropperController:(IQAudioCropperViewController *)controller didFinishWithAudioAtPath:(NSString *)filePath {
//Do your custom work with file at filePath.
[controller dismissViewControllerAnimated:YES completion:nil];
}
-(void)audioCropperControllerDidCancel:(IQAudioCropperViewController *)controller {
//Notifying that user has clicked cancel.
[controller dismissViewControllerAnimated:YES completion:nil];
}
@end
致谢
感谢 Stefan Ceriu 优秀的 SCSiriWaveformView 库。
感谢 William Entriken 的 FDWaveformView 库。
授权协议
采用 MIT 授权协议。更多信息请参阅 LICENSE
。
贡献
欢迎任何形式的贡献!您可以通过GitHub上的拉动请求和问题来进行贡献。
作者
如需联系我,请发送电子邮件至:[email protected]