转载请注明出处!!!

在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

iOS 录音,获取录音时长及格式转换相关推荐

  1. java在linux转化mp3,linux下微信/qq的aud、silk音频文件格式与mp3格式互转,获取音频时长的方法,附问题分析和java代码。...

    安装ffmpeg ffmpeg -codecs -可以看出ffmpeg默认的MP3格式无法编码为其它格式[D.A.L mp3]D=解码 E=编码 A=AudioCodec L=有损压缩 需要安装lam ...

  2. linux下微信/qq的aud、silk音频文件格式与mp3格式互转,获取音频时长的方法,附问题分析和java代码。

    安装ffmpeg ffmpeg -codecs -可以看出ffmpeg默认的MP3格式无法编码为其它格式[D.A.L mp3]D=解码 E=编码 A=AudioCodec L=有损压缩 需要安装lam ...

  3. java获取视频时长(实测可行)

    因为数据库视频表有一段时间丢失维护duration字段, 现在有需求需要用到此字段,只能再重新获取一遍, 更新表.哎!!! 先奉上 https://github.com/opensourceteams ...

  4. Python 获取视频时长(附代码) | Python工具

    目录 前言 环境依赖 代码 总结 前言 本文提供获取视频时长的python代码,精确到毫秒,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安 ...

  5. Golang获取视频时长

    Golang获取视频时长并转成时分秒 解析视频 //constant.DurationFormat="00:00:00"// BoxHeader 信息头 type BoxHeade ...

  6. html javascript 音频、视频、 mp3 、mp4 的播放、暂停、重新播放、获取音频时长、视频自动全屏播放

    html javascript 音频.视频. mp3 .mp4 的播放.暂停.重新播放.获取音频时长 视频 https://www.bilibili.com/video/BV1WE411o7Ft?fr ...

  7. python 获取mp3时长(时间长度)

    python 获取mp3时长(时间长度) 第一种方法 import librosa import time def get_mp3_duration(audio_path):""& ...

  8. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  9. Java通过FFMPEG获取视频时长

    2019独角兽企业重金招聘Python工程师标准>>> Java通过FFMPEG获取视频时长 详见https://www.yz1618.cn/view/19 转载于:https:// ...

最新文章

  1. libsvm java api文档_libsvm-javaAPI
  2. 苹果8怎么投屏到电视_创维电视怎么投屏
  3. 来自22岁的大学生的体检报告:x光显示双肺纹理增多
  4. tensorboard ValueError: Duplicate plugins for name projector
  5. KEIL5 编译器导致的程序异常
  6. FreeEIM通讯软件平均需要5分钟才能
  7. linux 打包库文件,Linux的文件的打包(tar方法)
  8. chararray遍历_数组遍历的三种方法
  9. Android TV上 WebView播放视屏与TV自带画中画不兼容处理及分析
  10. eclipse做html登录界面代码,在eclipse中怎麽编写一个登陆界面的代码,如新浪邮箱的登陆的? 爱问知识人...
  11. Qt PDF预览功能实现汇总
  12. java commons math_Apache Commons Math
  13. 服务器lsass系统错误,急急急开机出现lsass.exe系统错误系统资源不够无法完成AP? 爱问知识人...
  14. linux系统运行3dmax,Linux下3D桌面的效果的实现
  15. 时间对于程序员的价值,以及如何高效地利用时间,同时划分下勤奋度的等级
  16. 常德市六中2021年高考成绩查询,铆足“牛劲”,奋蹄新征程! ——常德市六中2021届高三教师牛年备战新高考...
  17. OpenCL学习笔记一
  18. 美国最佳本科计算机科学,美国本科计算机科学专业排名
  19. ASEMI场效应管AO3401参数,AO3401规格,AO3401特征
  20. C语言:计算同一年内两个日期的相隔天数

热门文章

  1. API经济时代,SWIFT推动银行业API接口标准化
  2. 计算机组成原理浮点数表示
  3. Vue + Element 实现请求加载数据时显示动效( Loading 加载 )
  4. SRC小技巧:批量获取补天公益SRC网址
  5. win11不兼容vm--VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMwa
  6. Java基础——函数(方法)
  7. Matlab之语言基础知识
  8. 教你用手机模拟加密门禁卡-不用电脑,不ROOT手机
  9. Python修改Excel中某一列的值
  10. 通过C3实现基础动画效果