开发者社区> 问答> 正文

钉钉小程序录音功能,安卓手机为什么不触发recorderManager.onstop事件

touchstart: function () {
console.log('开始录音')
recorderManager.start();
},
touchend: function () {
console.log('结束录音')
recorderManager.stop();
},

onLoad() {
recorderManager = dd.getRecorderManager();


recorderManager.onstop = (res) => {

//  录音结束后没有触发

})
}

展开
收起
游客ympgjlxclrnnw 2024-01-10 15:58:08 150 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    钉钉小程序的录音功能在安卓手机上可能不会触发recorderManager.onstop事件的原因可能是多方面的。首先,确保您已正确调用了startRecord和stopRecord方法。另外,您可以检查以下几点:

    1. 确保您的录音时长设置正确。在Android端,recorderManager的start方法需要一个duration参数,表示录音时长,单位为秒(s),最长支持60秒音频录制。
    2. 检查是否有其他应用或权限问题干扰了录音功能的正常工作。
    3. 使用在线调试工具,如JSAPI Explorer,来调试并确保接口正常工作。
    4. 如果您使用的是最新版本的钉钉小程序,确保您的手机系统版本与小程序兼容。
    2024-01-13 14:47:15
    赞同 展开评论 打赏
  • 在钉钉小程序中,录音功能的停止事件是通过recorderManager.onstop来监听的。如果在安卓手机上无法触发这个事件,可能有以下几种原因:

    1. 权限问题:确保你的应用已经获得了麦克风的使用权限。如果没有获得权限,录音功能将无法工作。

    2. 触摸事件的问题:在你的代码中,你使用了touchstarttouchend事件来开始和结束录音。请确保这两个事件都被正确触发,并且触发的顺序是正确的(先touchstarttouchend)。

    3. recorderManager的状态问题:在onLoad方法中,你需要确保你已经正确地获取了recorderManager的实例,并且在onstop事件中正确地设置了回调函数。

    4. 钉钉小程序的bug:如果以上都无法解决问题,可能是钉钉小程序本身的bug。你可以尝试在钉钉开放平台的问题反馈区提交你的问题,或者联系钉钉的技术支持。

    以下是一个简单的示例,展示了如何在钉钉小程序中使用录音功能:

    // 获取recorderManager实例
    recorderManager = uni.getRecorderManager();
    
    // 开始录音
    recorderManager.start({
    duration: 10000, // 录音时长,单位ms,默认:60000
    sampleRate: 44100, // 采样率,单位Hz,默认:44100
    numberOfChannels: 1, // 声道数,默认:1
    format: 'mp3', // 音频格式,默认:'mp3'
    encodeBitRate: 192000, // 编码比特率,单位bps,默认:192000
    frequency: 44100, // 采样频率,单位Hz,默认:44100
    channelConfig: 0, // 声道布局,默认:0
    });
    
    // 停止录音
    recorderManager.stop();
    
    // 监听录音结束事件
    recorderManager.onStop = (res) => {
    console.log(res);
    };
    

    希望这些信息能帮助你解决问题。如果问题仍然存在,欢迎继续提问。

    2024-01-12 16:21:54
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载