今天在钉钉小程序踩了个坑,录音的那个api,onstop那个回调,录音文件时长的字段,安卓返回的是毫秒,iOS返回的是秒,备注一下
钉钉小程序中的录音API dd.getRecorderManager(),在录音完成后会触发 onStop 回调函数,该回调函数会返回一个录音文件的相关信息,包括录音时长。需要注意的是,不同操作系统(iOS和Android)返回的录音时长字段单位不同:
在Android系统中,onStop 回调函数返回的录音时长单位是毫秒(ms)。
在iOS系统中,onStop 回调函数返回的录音时长单位是秒(s)。
造成问题的原因:微应用中的jsapi必须在钉钉环境内才能正常调用不能在浏览器打开的页面中调用jsapi,需要把此页面地址配置到微应用首页地址,然后在钉钉工作台打开该微应用—此回答来自钉群“钉钉开发者社区(互助群)”
钉钉小程序录音API中的onStop
回调在不同平台上可能返回不同的录音文件时长单位。
对于安卓平台,onStop
回调返回的录音文件时长单位是毫秒(ms)。这意味着你需要将返回的时长值除以1000,以将其转换为秒。
以下是一个示例代码片段,展示了如何处理安卓平台上onStop
回调中的录音时长字段:
dd.getRecorderManager().onStop((res) => {
// 获取录音文件时长并转换为秒
const durationSeconds = res.duration / 1000;
console.log('录音时长(秒):', durationSeconds);
});
对于其他平台(如iOS),onStop
回调返回的录音文件时长单位可能是秒。因此,在处理时无需进行单位转换。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。