录音文档

概述: 录音整体上是混编api比较多, 但总体上比较简单, api比较多主要是有资源抢夺问题,以及与音频播放的冲突导致的, 所以需要比较多的api给js, js使用这些api做了很多严密的逻辑判断.

录音比较简单,这里就直接来了.


和播放一样, 我们首先需要封装一个工具类,

class RecordTool{

    Recorder  recoder; //这个是真正的录音工具

    String status; // 这个和音频播放器一样, status由app管理.

}

然后里面就是常规的其他方法,如开始录音,暂停录音等. 录音格式为mp3.

这个录音工具和播放器一样,挂在WebviewActivity的静态变量上.全局只有一个.


重点是status

//100准备中 101录音中 102暂停中 103录音结束 104状态错误 105其他状态

在RecordTool的内部,同样管理好status, 比如开始录音需要设置status为101,暂停也需要102. 一会同样js会问询录音工具当前状态.


(1)开始录音:

协议名: recordStart

参数: 无

回调JS: 不需要

iOS代码: 无


(2)暂停录音:

协议名: recordPause

参数: 无

回调JS: 不需要

iOS代码: 无


(3)继续录音:

协议名:recordResume

参数: 无

回调JS: 不需要

iOS代码: 无


(4)结束录音:

协议名:recordStop

参数: 无

回调JS: 不需要

iOS代码: 无


(5)获取录音状态:

协议名:getRecordStatus

参数: 无

回调JS: 需要, 回调格式为{"status": "101"}

iOS代码: 无


(6)获取录音时间:

协议名: getRecordTime

参数: 无

回调JS: 需要, 格式为{"time": "12"}

iOS代码: 无


录音和播放差不多, 如果录音中, js则会开启一个990毫秒的定时器,定时询问当前录音时间.


(7)上传录音文件:

协议名:uploadRecordFile

参数: 无

回调JS: 需要,和图片一样,直接回传服务器的返回值.

iOS代码: 无

你可能感兴趣的:(录音文档)