1.5.2 录制
优质
小牛编辑
133浏览
2023-12-01
录音、播放相关接口:
下面一系列接口用一个新的权限组,权限组对应的top接口alibaba.interact.media.audio
- 开始录音接口
- 接口说明:主动开始录音,仅支持单线程录音不用返回ID
- 内部实现逻辑:有限制时长,在客户端实现,根据orange配置下发,无配置默认60s自动停止并回调,有配置则限制录制时长为 配置的时长,orange配置:组名:msoa_foundation_service 配置:recordTimeLimit
- 其他附加逻辑:若连续多次调用开始录音接口(一次未停止又调用了一次),后面的调用会失败,只有第一次有效
Tida.audio.startRecord()
--扩展--
Tida.audio.startRecord({
params : {
"limit":"2" //扩展,允许录制的最长时间,必须<=60s
},
success : function(res){
// 录音完成/停止之后的回调
// Tida.audio.onEndRecord存在调用时此回调不会执行
localId = res.localId
},
fail : function(res){
// 录音出错回调
}
});
- 停止录音接口
- 接口说明:主动结束录音
Tida.audio.stopRecord()
--扩展--
Tida.audio.stopRecord({
fail: function(res){
// 停止录音出错回调
}
});
录音停止监听接口
- 接口说明:录音结束后回调,主动停止和自动停止
Tida.audio.onEndRecord({
success : function(res){
//成功回调,表示录音文件正常生成
},
fail : function(res){
//失败回调
errCode = res.errcode
errMessage = res.message
}
});
播放本地语音接口
- 接口说明:播放语音,LocalId拼接本地语音路径 (注意 此处接口名字更新,为了与现有播放url音频的使用不同权限组)
Tida.audio.playLocal({
params : {
"localId" : ""
},
success: function(res){
// 录音播放完成/停止之后的回调
// Tida.audio.onLocalPlayEnd存在调用时此回调不会执行
localId = res.localId
}
})
暂停播放本地语音接口
- 接口说明:暂停播放语音,LocalId拼接本地语音路径
Tida.audio.pauseLocal({
params : {
"localId" : ""
}
})
恢复播放本地语音接口
- 接口说明:恢复播放语音,LocalId拼接本地语音路径
Tida.audio.resumeLocal({
params : {
"localId" : ""
}
})
停止播放本地语音接口
- 接口说明:停止播放语音,LocalId拼接本地语音路径
Tida.audio.stopLocal({
params : {
"localId" : ""
}
})
语音播放完毕监听接口
- 接口说明:本地音频播放完毕自动停止,自动和主动播放完毕
Tida.audio.onLocalPlayEnd({
params : {
"localId" : ""
},
success : function(res){
//成功回调
},
fail : function(res){
//失败回调
errCode = res.errcode
errMessage = res.message
}
})
上传音频接口
- 接口说明:将音频从本地上传至统一的多媒体中心,传入LocalID返回文件服务端路径(@待确认,具体是返回怎样的路径),LocalId拼接本地语音路径
Tida.audio.upload({
params : {
"localId" : ""
},
success : function(res){
url=res.url//成功回调
},
fail : function(res){
//失败回调
errCode = res.errcode
errMessage = res.message
}
})
附加功能
- 音频自动清理功能
- ios:isv页面销毁后即可以开始销毁,因为录音文件是处于手淘内部空间,外部无法访问到,没必要留着
- android:启动时候看文件夹大于设定大小,则全部删除
- 音频自动清理功能