收藏
回答

微信小程序录音授权弹框

使用wx.getSetting获取是否授权了录音功能,如果没有授权调用wx.authorize进行授权,会弹两次授权弹框



最后一次编辑于  02-28
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    02-28

    麻烦提供出现问题的机型和微信版本,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    02-28
    赞同
    回复 1
  • 小樱桃🍒🍒🍒
    小樱桃🍒🍒🍒
    05-06

    我也遇到这个问题了,本来是想授权录音和摄像头功能,写了两次授权会弹出两个摄像头授权,一个录音授权,把摄像头弹窗授权去掉后,会弹出录音授权和摄像头授权,但是这个时候摄像头允许和拒绝回调就监测不到了,最后你是怎么解决的呢

    05-06
    赞同
    回复 1
    • 静静bao
      静静bao
      05-07

      我在页面进入的时候,查看是否授权

      wx.getSetting({

      success(res) {

      if (!res.authSetting['scope.record']) {

      //调取小程序新版授权页面

      wx.authorize({

      scope: 'scope.record',

      success() {

      console.log("录音授权成功");

      that.setData({

      status: 2

      })

      // 用户已经同意小程序使用录音功能

      },

      fail() {

      console.log("第一次录音授权失败");

      wx.showModal({

      title: '提示',

      content: '您未授权录音,功能将无法使用',

      showCancel: true,

      confirmText: "授权",

      confirmColor: "#52a2d8",

      success: function(res) {

      if (res.confirm) {

      //确认则打开设置页面(重点)

      wx.openSetting({

      success: (res) => {

      console.log(res.authSetting);

      if (!res.authSetting['scope.record']) {

      //未设置录音授权

      console.log("未设置录音授权");

      wx.showModal({

      title: '提示',

      content: '您未授权录音,功能将无法使用',

      showCancel: false,

      success: function(res) {


      },

      })

      } else {

      //第二次才成功授权

      console.log("设置录音授权成功");

      that.setData({

      status: 2

      })

      }

      },

      fail: function() {

      console.log("授权设置录音失败");

      }

      })

      } else if (res.cancel) {

      console.log("cancel");

      }

      },

      fail: function() {

      console.log("openfail");

      }

      })

      }

      })

      } else {

      that.setData({

      status: 2

      })

      }

      }

      })

      如果取消授权就,在点击录音的时候弹出fail里面那个弹框,然他设置,不知道你遇到的是否是这个问题

      05-07
      回复