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;floataudioDurationSeconds = CMTimeGetSeconds(audioDuration);

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

你可能感兴趣的:(iOS 录音,获取录音时长及格式转换)