adcold
adcold
  • 发布:2023-04-09 15:24
  • 更新:2023-04-09 15:28
  • 阅读:293

【报Bug】3.7.9.20230324 uni.createInnerAudioContext多次播放报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.6.1

HBuilderX类型: 正式

HBuilderX版本号: 3.7.9

手机系统: Android

手机系统版本号: Android 12

手机厂商: 三星

手机机型: s10

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

一直重复点一个tabbar 然后报错

onTabItemTap() {  
    this.music.play_tabBar();  
},

预期结果:

可正常播放

实际结果:

无法正常播放

bug描述:

//music.js  
var music = {  
    // 如果有更多声音的在下面接着创建  
    play_tabBar() {  
        const innerAudioContext = uni.createInnerAudioContext();  
        innerAudioContext.autoplay = true;  
        innerAudioContext.src = '../../static/mp3/tabbar.mp3';  
        innerAudioContext.onPlay(() => {  

        });  
        innerAudioContext.onError((res) => {  
            console.log('播放错误');  
            console.log(res.errMsg);  
            console.log(res.errCode);  
            //播放错误销毁实例  
            innerAudioContext.destroy();  
        });  
        innerAudioContext.onEnded((res) => {  
            //播放完毕销毁实例  
            innerAudioContext.destroy();  
        })  
    },  
}  

module.exports = music;

然后在tabbar页面生命周期内调用

onTabItemTap() {  
    this.music.play_tabBar();  
},

一直重复点一个tabbar 然后报错
15:17:35.671 播放错误 at common/music.js:12
15:17:35.689 MediaError at common/music.js:13
15:17:35.690 [Number] -99 at common/music.js:14
就已经无法正常播放了必须重启app,对于-99的错误定义在文档中没有找到是什么意思

2023-04-09 15:24 负责人:无 分享
已邀请:
adcold

adcold (作者) - 半桶水叮当响

innerAudioContext.onPause(function() {
console.log('end');
innerAudioContext.destroy()
})
为播放完毕所以到达暂停事件内 所以暂停也需要销毁 解决了 不是bug

要回复问题请先登录注册