
回复
AVRecorder可以实现音频录制功能,本文通过音频的录制,暂停,恢复录制,停止录制来展示AVRecorder的功能。
一、页面设计
使用Image组件加载一张麦克风的图标,当未录制时,显示灰色的图标;点击麦克风图标,开始录制,图标变为蓝色且下方显示录制时间;再次点击图标,音频录制暂停,计时暂停,图标恢复灰色;再此点击,恢复录制,图标变为蓝色,计时继续。点击完成按钮,停止音频的录制,显示播放按钮。
二、开发前准备
应用可以调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”
在录制开始时,先检查麦克风权限是否已获得,如果已获得, 则正常进行接下来的流程,如果没有获得,那么需要申请该权限
检查某个权限是否已经被授予
动态请求权限
三、录音状态监听
录音状态分类:
idle:闲置状态。任何状态下调用reset()后都可以进入idle状态
prepared:参数设置完成。此时可以调用start()开始录制
started:正在录制
paused:录制暂停
stopped:录制停止
released:录制资源释放。
error:错误状态
四、主要代码逻辑
(1)开始录制
(2)暂停录制
(3)恢复录制
(4)停止录制
(5)使用AvPlayer播放已录制的音频文件
五、完整案例代码