const r = plus.audio.getRecorder();
r.record
//code
r.stop
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 3.2.3
HBuilderX类型: 正式
HBuilderX版本号: 3.2.3
手机系统: Android
手机系统版本号: Android 6.0
手机厂商: 联想
手机机型: 平板 Lenovo TB-8703F
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://www.pgyer.com/GfNB
const r = plus.audio.getRecorder();
r.record
//code
r.stop
复现方式很简单。
使用真机调试,打开录音, 改代码, reload 后继续录音。 之前的录音没有关闭。(后面所有的录音都录到第一个文件里面了) ;
杀掉进程 后再次录音也录到第一个文件里面了。
不管杀进程还是重启,应该自动关闭或解除录音占用。
出现问题后,设备上所有录音应用都无法使用
b***@vip.qq.com (作者)
//测试录音代码
const dir = '_doc/fyFile/testAudio/';
const r = plus.audio.getRecorder();
console.log('start ok', '------- 修改这里然后ctrl+s ------1');
r.record({ filename: dir }, function(r) {
console.log('stop ok', '----------');
}, function(e) {
console.log('stop err', '----------');
});
setTimeout(() => {
//r.stop();
});
//真机调试,每次修改后直接保存就好 。 在平板上代码没有任何报错。直接在文件夹里面看文件的录音时长。除了第一个其他全是0秒
b***@vip.qq.com (作者)
回复 DCloud_Android_zl: 云打包后的apk 也有这个出现这个症状,但出现原因未知。目前我的解决方案就是把所有的recorder 对象都放在一个数组里面, 退出页面时循环再次执行stop, 保证每次都stop。
后续能不能增加一个 录音状态是否占用的接口? 因为这个问题可能跟机型或系统有关,不好正面解决。
但是哪怕闪退也比不知道有问题好。比如(考试填写的场景,录了10分钟最后发现没有录音,就很尴尬。如果一开始就提示,需要重启或其他操作,就还好)
2021-10-09 15:53
b***@vip.qq.com (作者)
回复 b***@vip.qq.com: 这个方式也不保险... , 目前是录音开始后 1秒检测时长。最保险,时长低于0.3 那么提示用户重启应用。
2021-10-18 16:00
b***@vip.qq.com (作者)
发了在下一个回复里面
2021-09-23 15:46