r***@zhixuerj.com
r***@zhixuerj.com
  • 发布:2022-07-19 17:26
  • 更新:2024-05-17 10:10
  • 阅读:1073

【报Bug】createInnerAudioContext 音频 报MediaError -99

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: Redmi 9A

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
  createAudio() {  
    this.playAudio = uni.createInnerAudioContext();  
    this.playAudio.onPlay(() => {  
      this.play()  
    });  
    this.playAudio.onPause(() => {  
      this.pause()  
    });  
    this.playAudio.onEnded(() => {  
      this.ended()  
    });  
    this.playAudio.onError((e) => {  
      console.log('playAudio onError', e);  
      this.recorderDuration = -1;  
    });  
    this.playAudio.onCanplay((e) => {  
      console.log(this.playAudio, '可以播放')  
      if (this.playAudio) {  
        this.playingDuration = this.playAudio.currentTime;  
        this.recorderDuration = this.playAudio.duration;  
      }  
    })  
  },  
  loadNext() {  
    if (!this.playAudio) {  
      this.createAudio()  
    }  
    this.playingDuration = 0;  
    this.recorderDuration = 0;  
    this.playAudio.src = this.dataInfo.AttachViewUrl;  
  },

操作步骤:

见BUG描述

预期结果:

见BUG描述

实际结果:

见BUG描述

bug描述:

createInnerAudioContext 音频 报MediaError -99
界面有三个按钮,点击按钮切换加载音频文件(固定的3个有效的音频文件),有不小几率加载音频文件会无法播放,报MediaError -99
只要首次加载成功的文件,就一定可以播放,切换到其它文件,再切回来一样可以播放
只要首次加载出问题的文件(不用等报错,只要短时间内没有触发onCanplay),就一定不可以播放,切换到其它文件,再切回来不行,在音频地址后面追加其它参数改变url无效,感觉会被识别为同一个文件。
在当前页面销毁音频组件,重新建立组件,无法恢复正常。
退出页面,重新进入,可重新开始,三个文件有时全部正常,有时是任意1~3个不正常。
该问题在不同的手机上都出现过,重现概率较高的方式是快速切换不同的音频文件。

2022-07-19 17:26 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com

我也遇到了这个报错,我的情况是,频繁的创建音频对象实例,在前一个没有销毁的情况下,继续创建,导致报错-99,
我的解决方法是,在创建前,先将前一个实例销毁,销毁后在进行创建,不知道对你是否有帮助!

6***@qq.com

6***@qq.com - 小盼子

音乐格式问题 或者音乐地址有误

要回复问题请先登录注册