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:启动时候看文件夹大于设定大小,则全部删除