问题说明:
1.A、B两个页面都调用录音接口,每个页面都有各自的recorderManager.onStop监听事件,里面写着不同的业务逻辑。
2.A、B录音结束时总是调用B页面的recorderManager.onStop监听事件,导致无法继续处理A页面的业务逻辑。
我预期的全局唯一录音管理器是:
A页面调用录音功能后,B页面也调用录音功能,应该立即结束A页面的录音,同时打开B页面的录音功能,并且每个页面的监听事件能够处理单独的逻辑。
问题复现:
1.在A、B页面都写上recorderManager.onStop监听事件,里面写着不同的业务逻辑,例如:分别输出页面1、2两个数字。
说明:
这个问题是我处理起来很痛苦,因为如果我有10个页面调用录音功能,那么,我要把10个页面的处理逻辑都写在同一个recorderManager.onStop中,这样会导致程序十分复杂与不稳定,希望能有更好的解决方案
这是我同事写的,帖子也是帮他发的 创建录音管理器也放到onLoad中再试试
谢谢指导。我现在这么写的 您看下,好像启动就报错了
//index.js
//获取应用实例
const app = getApp()
const recorderManager = wx.getRecorderManager();
const innerAudioContext = wx.createInnerAudioContext();
var
util = require(
'../../utils/util.js'
);
page({
......
onLoad:
function
(options) {
var
that =
this
;
that.innerAudioContext.onPlay(() => {
})
that.recorderManager.onStart(() => {
});
that.recorderManager.onStop((res) => {
console.log(
"首页输出"
)
})
})
启动报错了 写法是不是不对
在 onload中用this.继续写就可以了
我也有这个问题啊