详细问题描述
播放到15次的时候就会报错
测了不下于50次每次都是一样,到了15次播放的时候就会报错,写了销毁实例也是一样
错误信息:
res.errMsg:MediaError
res.errCode:-99
[内容]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
编译器版本:2.2.2,当前项目编译模式:自定义组件模式。
安卓手机
chinahappybeer - china happy beer
innerAudioContext.onPause(function() {
console.log('end');
innerAudioContext.destroy()
})
我加了这句话,似乎也没问题了。
1***@qq.com (作者) - 俺是一只小白鼠
定义全局变量var p =null;
p = plus.audio.createPlayer('http://120.25.215.71:8080/voice/IDCard.mp3');
p.play(function(){//成功关闭音频
p.close();
},function(res){//失败返回函数
console.log(res);
});
改用H5+ API之后解决了这个问题
但是一定要记得调用close()方法!!!
let innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = 'https://img-cdn-qiniu.dcloud.net.cn/uniapp/audio/music.mp3';
innerAudioContext.onPlay(() => {
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
innerAudioContext.onPause(function() {
console.log('end');
innerAudioContext.destroy()
})
坑 多次初始化这个对象后如果另一个开始播放这个就会暂停 如果不销毁就会出现这种莫名其妙的报错
问题解决了
let src = '../../static/voice/'+ v +'.mp3';
//实例化声音
const Audio = uni.createInnerAudioContext();
Audio.autoplay=true;
Audio.src = src;//音频地址
Audio.play(); //执行播放
Audio.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
Audio.onPause(function() {
console.log('end');
Audio.destroy();
});
Audio.onPause(function() {
console.log('end');
Audio.destroy();//音频播放停止后,就销毁实例
});
4***@qq.com
感谢,我用了你的这个,似乎也没问题了!!
2020-04-16 12:10
chinahappybeer
回复 4***@qq.com: QQ号很赞
2020-04-16 15:42
4***@qq.com
回复 chinahappybeer: 额……好久没来这里了
2021-03-22 22:15