InnerAudioContext真机播放报错
wx.createInnerAudioContext 创建组件进行音频播放,在开发工具中没有任何问题,换到手机上就报错,帮忙看看是啥问题呢,谢谢。
大概的代码如下,url会把传入的信息转成wav音频。
play: function(e) { //const audio = wx.createInnerAudioContext(); if (!audio.paused) { audio.stop(); } if (this.data.src.length == '') { this.translate(); } audio.autoplay = true; audio.src = app.globalData.apiUrl + "?cw=" + encodeURIComponent(base64.encode(this.data.src)); console.log(audio.src); audio.onPlay(() => { console.log('onPlay:开始播放'); this.setData({ isplaying: true, playcss: 'selected', pausecss: '' }); }); audio.onPause(() => { console.log('onPause:音频暂停事件'); this.setData({ playcss: '', pausecss: 'selected' }); curTime = audio.currentTime; }); audio.onTimeUpdate(() => { console.log('onTimeUpdate:音频播放进度更新事件'); console.log(audio.currentTime); }); audio.onEnded(() => { console.log('onEnded:音频自然播放结束事件'); this.setData({ isplaying: false, playcss: '', pausecss: '' }); curTime = 0; }); audio.onStop(() => { console.log('onStop:音频停止事件'); this.setData({ isplaying: false, playcss: '', pausecss: '' }); curTime = 0; //audio.destroy(); }); audio.onError((res) => { console.log("onError:" + res.errMsg); console.log(res); //audio.destroy(); }); audio.onWaiting((res) => { console.log('onWaiting:音频加载中事件,当音频因为数据不足,需要停下来加载时会触发') console.log(res) }); audio.onCanplay(() => { console.log('onCanplay'); audio.play(); }); |
