this.recorderManager = uni.getRecorderManager(); //获取录音管理器
this.recorderManager.start(); //开始录音 (第一次苹果会申请权限,省去权限判断代码)
this.recorderManager.onStart(()=>{ //苹果未点击确定,但是触发了onStart方法
console.log("开始录音");
})
- 发布:2022-05-18 14:51
- 更新:2022-06-28 16:11
- 阅读:1352
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.7
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone xr
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
希望第一次点击确定后触发onStart方法
希望第一次点击确定后触发onStart方法
实际结果:
苹果在未点击确定的情况下触发了onStart方法
苹果在未点击确定的情况下触发了onStart方法
bug描述:
uni.getRecorderManager()首次使用时 申请录音权限还未点击确定按钮 就已经触发了recorderManager.onStart() 方法
正常情况是 点击确定按钮同意开启权限后才可以触发onStart()!
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
先判断有没有权限,再进行下一步
天生DR - 天生我材必有用
你可以先判断一下 有没有权限
可以使用这个云端插件 https://ext.dcloud.net.cn/plugin?id=594
-
1***@qq.com (作者)
我遇到的BUG是ios在弹出授权窗口时 用户还未点击同意或者拒绝按钮, 但是触发了onStart方法;
( https://ext.dcloud.net.cn/plugin?id=594这个插件我用了,但是问题不在这一步)
this.recorderManager.onStart(()=>{ //苹果未点击确定,但是触发了onStart方法
console.log("开始录音");
})
希望明白了我所表达的意思
2022-06-30 09:14
1***@qq.com (作者)
是这么做的, 但是苹果端首次使用时先要开启一下录音管理器才能进行授权 ,但是在等待授权的过程中就已经触发了onStart方法,不知道这么说是否能明白
2022-05-20 11:06
小小菜76055421
回复 1***@qq.com: 弹窗的授权同意后,是直接会进行业务逻辑的处理,还是说同意后,还需要重新点击录音后,才进行业务的处理
2022-08-15 12:05
l***@fazyun.com
回复 1***@qq.com: 没有权限就在使用Start然后stop去获取IOS的权限,return阻止
2022-11-05 19:28