本文出自APICloud官方论坛
audioRecorder 模块通过封装系统的录音接口,能够快速的为开发者提供一个完整的录音功能。
该模块提供Android和iOS版本,录音方式及录制的音频格式也依赖于相关系统。
需要注意的是:安卓跟ios所支持的格式是不一样的,最好选择aac格式,
如果不选择acc格式你们就需要判断此设备是ios还是安卓,(api.systemType使用这个可以获取是安卓还是ios)
然后根据设备不同去配置对应录制音频格式。
-
Android系统支持的录制音频格式为:amr、aac、3gp
-
iOS 系统支持的录制音频格式为:aac、wav
模块文档地址:https://docs.apicloud.com/Client-API/Func-Ext/audioRecorder
接口详解:
startRecord接口:
一定需要详细看下sampleRates跟format这俩个参数对应配置,看自己需求去设置,不然配置错误有可能出现未知错误,或者报错,一定看清楚format配置类型对应的sampleRates取值范围是否对应了文档要求;
getVolume接口:
获取录音的时时声音大小,个人感觉如果配置了监听audioRecorder.addEventListener({name: 'volume' 事件,这个接口可以不需要调用
addEventListener接口:
此接口是监听录音时获取时时声音大小,这样可以拿来作为录音状态喇叭大小的,此处楼主虽然获取了,但是没有去显示这个功能;
楼主在监听这个接口调用getAttr接口获取音频时长,这样就能配置录音的时间进度00:00:00
注意点2: 在关闭窗口的时候,需要调用停止录音的接口,如果不调用会出现app闪退情况:
Demo整体结构说明截图:
<ignore_js_op>
核心代码截图:
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
Demo最终效果图:
无录音文件时显示:
<ignore_js_op>
有录音文件时显示:
<ignore_js_op>
录音开始界面:
<ignore_js_op>
录音暂停界面:
<ignore_js_op>