innerAudioContext.onPlay() 执行了三次
代码里只调用了一次innerAudioContext.play();结果innerAudioContext.onPlay() 和
innerAudioContext.onEnded()
都执行了三次。
是bug?
代码里只调用了一次innerAudioContext.play();结果innerAudioContext.onPlay() 和
innerAudioContext.onEnded()
都执行了三次。
是bug?
真机微信版本是最新的,开发工具也是最新的,机型测过5s 、6,基础版本库1.60.
|
这段是wxml的内容
const recorderManager = wx.getRecorderManager();const innerAudioContext = wx.createInnerAudioContext();// pages/test/test.jsPage({ /** * 页面的初始数据 */ data: { record_status: '未录音' }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, record: function() { var that = this; var record_status = that.data.record_status; if (record_status === '未录音') { recorderManager.start({ duration: 60000, sampleRate: 44100, numberOfChannels: 1, encodeBitRate: 192000, format: 'mp3', frameSize: 50 }) record_status = '录音中' } else if (record_status === '录音中') { recorderManager.stop(); } else if (record_status === '录音结束') { innerAudioContext.src = that.data.recorderPath.tempFilePath; innerAudioContext.play(); } else if (record_status === '录音播放中') { innerAudioContext.stop(); } recorderManager.onStop((res) => { record_status = '录音结束'; console.log(res); that.setData({ record_status: record_status, recorderPath: res }) }); innerAudioContext.onPlay(() => { console.log('录音播放中'); record_status = '录音播放中'; that.setData({ record_status: record_status }) }) innerAudioContext.onStop(() => { console.log('录音播放停止'); record_status = '录音播放停止'; innerAudioContext.destroy(); that.setData({ record_status: record_status }) }) innerAudioContext.onEnded(() => { console.log('录音播放结束'); record_status = '录音播放结束'; innerAudioContext.destroy(); that.setData({ record_status: record_status }) }) that.setData({ record_status: record_status }) }}) |
这个是控制台的输出