您好,我现在遇到了一个问题。
我在两个页面index和detail页面的page上边声明了两个
const recorderManager = wx.getRecorderManager();
然后在各自的onload中声明了onstop事件,现在出现了一个问题
程序启动进入首页(index页)以后,在进入detail页面,再回到首页,进行录音
此时录音结束以后的onstop执行的却是detail页面的事件,不知道该如何处理,麻烦指导下
谢谢
//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 ; innerAudioContext.onPlay(() => { }) recorderManager.onStart(() => { }); recorderManager.onStop((res) => { console.log( "首页输出" ) }) }) |
上边是index的
const app = getApp(); const recorderManager = wx.getRecorderManager(); const innerAudioContext = wx.createInnerAudioContext(); var util = require( '../../utils/util.js' ); Page({ 。。。。。 onLoad: function (options) { recorderManager.onStop((res) => { console.log( "detail输出" ) }) } }) |
我也是一样,并且我第一个页面是
const recorderManager1 = wx.getRecorderManager
第二个页面是
const recorderManager2 = wx.getRecorderManager
返回第一个页面后执行record仍然会起冲突执行第二个recorderManager2.onStart()
谢谢您的回复,但是这样做不行,这样 话 相当于事件注册了多次,到时候监听事件会执行多次
RecorderManager 和 BackgroundAudioManager 一样都是全局的,你这两个页面其实都是同一个对象。建议页面 onShow 时重新绑定各个事件,即使没用到的事件也绑一个空函数,覆盖掉之前页面绑定的其他事件。
又要沉了?