收藏
回答

播放音频太频繁导致手机卡

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.createInnerAudioContext() 客户端 Android 6.6.7 1.9.0

我在页面里面用wx.createInnerAudioContext()创建了一个context播放英文单词的音频,然后添加了一个“下一个”按钮点击切换音频的src。当切换到40-50个的时候,会导致内存泄漏。(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit. 11,请问有什么方法可以解决这个问题吗?代码基本如下:

var innerAudioContext = wx.createInnerAudioContext()
//播放音频
   playVoice: function () {
       var that = this
       if (that.data.playStatus == 2){
           return false
       }
       that.setData({
           playStatus: 2
       })
       innerAudioContext.obeyMuteSwitch = false
       innerAudioContext.autoplay = true
       innerAudioContext.src = this.data.question.word_voice
       innerAudioContext.play()
       innerAudioContext.onEnded(() => {
           that.setData({
               playStatus: 1
           })
       })
       innerAudioContext.onError((res) => {
           wx.showModal({
               title: '温馨提示',
               content: res.errMsg,
               showCancel: false,
               success: function () {
                   that.setData({
                       playStatus: 1
                   })
               }
           })
       })
   }
//下一个
   chooseNext: function (e) {
       innerAudioContext.stop()
       var nindex = this.data.questionIndex + 1
       var nquestion = this.data.questionArr[nindex]
       this.setData({
           questionIndex: nindex,
           question: nquestion,
           playStatus: 1
       })
       this.playVoice()
   },


最后一次编辑于  2018-07-17
回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容