满脑的思绪
满脑的思绪
  • 发布:2021-02-20 16:09
  • 更新:2021-06-05 20:44
  • 阅读:3841

【报Bug】音频播放错误: {"errMsg":"MediaError","errCode":-99}

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.1.2

手机系统: Android

手机系统版本号: Android 10

手机厂商: 安卓

手机机型: 10

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
created(){  
this.innerAudioContext = uni.createInnerAudioContext();  
this.innerAudioContext.onPlay(() => {  
    console.log('开始播放');  
});  
this.innerAudioContext.onError(res => {  
    console.log(res.errMsg);  
    console.log(res.errCode);  
});  
},  
methods:{  
play(href){  
    this.innerAudioContext.src = href;  
    this.innerAudioContext.stop();  
    this.innerAudioContext.play();  
}  
}  

操作步骤:

一直点击播放即可,点击一次更换一个音频链接。

预期结果:

预期应正常播放

实际结果:

不正常

bug描述:

音频播放错误: {"errMsg":"MediaError","errCode":-99}

音频链接正常,点击播放,播放十几个之后报错
然后后续音频和视频就都无法正常播放了(音频不出声音,视频没有声音来回跳动)

文档上也没有注明-99是个什么错误,什么情况下会出现这种错误呢??

created(){  
this.innerAudioContext = uni.createInnerAudioContext();  
this.innerAudioContext.onPlay(() => {  
    console.log('开始播放');  
});  
this.innerAudioContext.onError(res => {  
    console.log(res.errMsg);  
    console.log(res.errCode);  
});  
},  
methods:{  
play(href){  
    this.innerAudioContext.src = href;  
    this.innerAudioContext.stop();  
    this.innerAudioContext.play();  
}  
}  
2021-02-20 16:09 负责人:无 分享
已邀请:
q***@qq.com

q***@qq.com - 湖南来欣科技有限公司

我不知道这算不算bug,但是我之前碰到过,在网上找到了解决方法
var music={
//因为这个音效听起来是de的声音,所以我取这个函数名,方便记忆音效,找的合适的场景就能想起来。
play_dede:function(){
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = '../../static/click.wav';
innerAudioContext.onPlay(() => {
// console.log('点击声');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
innerAudioContext.onPause(function() {
// console.log('end');
innerAudioContext.destroy();//音频播放停止后,就销毁实例
});
},
}
export default music;

x***@163.com

x***@163.com

切换时清空src

5***@163.com

5***@163.com

报-99 是因为生成的音频时长太短了;比如在语速10的情况下报长度为1~2的字符串;就会报错;;
解决:判断播报字符串长度<3时语速为5(或更小);否则为10左右

该问题目前已经被锁定, 无法添加新回复