uniapp:钉钉小步伐必要录音权限及调用录音

张裕  论坛元老 | 2025-1-10 08:18:29 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1405|帖子 1405|积分 4215

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. {
  2.     // ... 其他配置项
  3.     "mp-dingtalk": {
  4.         "permission": {
  5.              "scope.userLocation" : {
  6.                 "desc" : "系统希望获得您的定位用于确认您周围的设施数据"
  7.             },
  8.             "scope.bluetooth" : {
  9.                 "desc" : "你的蓝牙权限将用于小程序搜索打印机、连接打印机、打印相关功能"
  10.             },
  11.                         "microphone" : {
  12.                             "desc" : "录音功能需要麦克风权限"
  13.                         }
  14.             // ... 其他权限配置
  15.         }
  16.         // ... 其他dring配置
  17.     }
  18.     // ... 其他配置项
  19. }
复制代码
  1. mounted() {
  2.         if (dd.canIUse('getRecorderManager')) { // 端上支持
  3.                 this.recorderManager = dd.getRecorderManager()
  4.         } else { // 端上不支持
  5.                 dd.alert({
  6.                         content: '请升级钉钉版本至7.0.10以支持录音功能'
  7.                 })
  8.         }
  9.         this.audioManager = uni.getBackgroundAudioManager();
  10. },
复制代码
  1. const recorderManager = uni.getRecorderManager();
  2. recorderManager.start({
  3.     duration: 60000, // 录音的最大时长,单位 ms
  4.     sampleRate: 16000, // 采样率
  5.     numberOfChannels: 1, // 录音通道数
  6.     encodeBitRate: 96000, // 编码码率
  7.     format: 'aac' // 音频格式,只在mp3格式下有效,是否调用getFrameBuffer
  8. });
  9. ############### 编译钉钉会找不到对应方法 #####################
  10. recorderManager.onStart(() => {
  11.     console.log('录音开始');
  12. });
  13. recorderManager.onStop((res) => {
  14.     console.log('录音结束', res);
  15.     const { tempFilePath } = res;
  16.     // 处理录音文件...
  17. });
  18. recorderManager.onError((error) => {
  19.     console.error('录音错误', error);
  20. });
  21. ############### 编译钉钉会找不到对应方法 #####################
  22. ############### 调用正确 #####################
  23. recorderManager.onstart = (res) => {
  24.     console.log('录音开始');
  25. }
  26. recorderManager.onstop = (res) => {
  27.     console.log('录音结束', res);
  28.     const { tempFilePath } = res;
  29.     // 处理录音文件...
  30. }
  31. recorderManager.onerror = (err) => {
  32.     console.error('录音错误', err);
  33. };
  34. ############### 调用正确 #####################
  35. // 停止录音
  36. recorderManager.stop();
复制代码
由于在uniapp中使用长按事件,编译钉钉小步伐后无效,所以只能使用click事件声明一个字段来判断长按松开~~~~
假如过程中,录音之后无响应,使用onerror打印错误:
一样寻常是遇到文件无法保存的问题,直接真机测试就没有问题了~~~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表