iOS 录音,获取录音时长及格式转换

转载请注明出处!!!

在APP中,我们也会遇到调用录音的功能,那么如何录音呢?并且在iOS中录音格式是wav或者caf格式的,和安卓不通用,为了达到通用的效果,我们还需要把他转换成通用格式。近期我遇到了一个这个功能,我是这样实现的。通过AVAudioRecorder来实现录音,并且我设置录音格式为wav格式。在录音结束后,通过lame把wav格式转换为MP3格式。
光说没有太大作用,我在末尾把封装好的工具类附上,在录音工具类中,我只留出三个方法(开始录音,停止录音,格式转换)。
使用代码:

// 开始录音
self.tool = [RecordTool sharedInstance];
[self.tool startRecordVoice];
// 停止录音,并转化格式
self.tool = [RecordTool sharedInstance]; if (self.tool.mp3SavePath.length != 0) { [self.tool stopRecordVoice]; [self.tool convertWavToMp3:self.tool.savePath withSavePath:self.tool.mp3SavePath]; }

另外我再附上一个播放类,可以用它播放所录音频

self.tool = [RecordTool sharedInstance];
    if (self.tool.mp3SavePath.length != 0) {
        [[BTVoicePlayer share]play:self.tool.mp3SavePath];
    }

附件:RecordTool.zip

// 获取音频时长
AVURLAsset* audioAsset =[AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:self.savePath] options:nil];
    CMTime audioDuration = audioAsset.duration;
    float audioDurationSeconds = CMTimeGetSeconds(audioDuration);

 

补充:新增修改,做了一些防崩溃处理,可以设置最大录音时长。RecordTool增强版.zip

转载于:https://www.cnblogs.com/weicyNo-1/p/7600014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值