touchstart: function () {
console.log('开始录音')
recorderManager.start();
},
touchend: function () {
console.log('结束录音')
recorderManager.stop();
},
onLoad() {
recorderManager = dd.getRecorderManager();
recorderManager.onstop = (res) => {
// 录音结束后没有触发
})
}
钉钉小程序的录音功能在安卓手机上可能不会触发recorderManager.onstop事件的原因可能是多方面的。首先,确保您已正确调用了startRecord和stopRecord方法。另外,您可以检查以下几点:
在钉钉小程序中,录音功能的停止事件是通过recorderManager.onstop
来监听的。如果在安卓手机上无法触发这个事件,可能有以下几种原因:
权限问题:确保你的应用已经获得了麦克风的使用权限。如果没有获得权限,录音功能将无法工作。
触摸事件的问题:在你的代码中,你使用了touchstart
和touchend
事件来开始和结束录音。请确保这两个事件都被正确触发,并且触发的顺序是正确的(先touchstart
后touchend
)。
recorderManager的状态问题:在onLoad
方法中,你需要确保你已经正确地获取了recorderManager
的实例,并且在onstop
事件中正确地设置了回调函数。
钉钉小程序的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);
};
希望这些信息能帮助你解决问题。如果问题仍然存在,欢迎继续提问。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。