• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【iOS学习】Objective-c OC录音

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

功能描述:

最近,着手的项目里有一个录音15S的需求。

这两天有些空闲时间,于是乎,现在得空封装的一个OC版的录音器。

用单例模式提供一个全局的录音helper,操作录音的开始、完成、暂停、继续功能。

录音完成后,通过MagicalRecord 保存录音对象到数据库。

写了一个简陋的录音场景,有录音进度条,开始、完成、暂停、继续按钮,录音进行时的小动画。

播放录音的场景,现在未能完成,本意是和录音场景用同一个效果来操作播放。

GitHub:SDRecorder

运行效果如下图:

使用:

第一次分享,功能没有覆盖得很全面,目前大家可以拿来用的工具,我自以为 SD_RecordHelper 还算能帮助减轻实现录音时的负担。

1
2
3
4
5
6
SD_RecordHelper.h 的功能列表:
#import #import "Record.h"typedef enum : NSUInteger {    ///正在录音
    SD_RHRecording,    ///录音完成
    SD_RHDone,    ///录音暂停
    SD_RHPause,
} SD_RHRecordStatus;typedef void(^SD_RecordTimeBlock)(NSInteger );typedef void(^SD_RecordDoneBlock)(void);@interface SD_RecordHelper : NSObject///录音时间计数[email protected] (copy, nonatomic) SD_RecordTimeBlock SDRecordTimeBlock;///录音保存成功[email protected] (copy, nonatomic) SD_RecordDoneBlock SDRecordDoneBlock;///录音时长@property (assign , nonatomic) NSInteger recordTimeIndex;///当前录音状态@property (assign , nonatomic) SD_RHRecordStatus recordStatus;///获取录音helper单例+ (instancetype)share;///开始录音- (void)startRecord;///暂停录音- (void)pauseRecord;///继续录音- (void)resumeRecord;//停止录音- (void)finishRecord;///播放录音- (void)playRecord:(NSString *)path;@end

功能实现:

1. 录音

我们可以引入AVFoundation框架,使用AVAudioRecorder和AVAudioPlayer可以实现语音的录制和播放功能。

我就不太介绍AVAudioRecorder太多的属性配置了,因为我自己也没研究很深(就是不懂~)。我们就先搞定录音吧。

用燕舞录音机、步步高复读机录音的经历,和我差不多大的朋友们应该都有类似经历吧。录音首先需要一个录音设备,在代码中我就需要初始化一个AVAudioRecorder作为我们的录音设备了:

1
2
3
4
5
6
7
8
9
10
11

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-c方法调用流程发布时间:2022-07-12
下一篇:
用于处理分数的Objective-C类发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap