菜菜2
菜菜2
  • 发布:2025-07-01 15:44
  • 更新:2025-07-01 17:27
  • 阅读:36

【报Bug】uni.createInnerAudioContext() 播放特定网络链接的音频播放失败,这个链接的音频文件下载下来播放是正常的

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Apple M2;MacOS 14.5 (23F79)

HBuilderX类型: 正式

HBuilderX版本号: 4.66

手机系统: Android

手机系统版本号: Android 13

手机厂商: 一加/小米

手机机型: 安卓手机

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

this.audioContext = uni.createInnerAudioContext(); // 创建音频上下文

this.audioContext.onCanplay(() => {
console.log('-----可以播放音频-----');
})

this.audioContext.onError((err) => {
console.error('音频播放失败', err);
console.log('音频路径',this.audioContext.src)
toast('音频播放失败');
if (this.onFinish) this.onFinish(); // 发生错误时调用回调
});

// 播放指定索引的音频
private playAudioAtIndex(index: number) {
if (index < 0 || index >= this.audioList.length) return;

this.audioContext.stop(); // 停止当前音频  
this.audioContext.src = this.audioList[index]; // 设置音频文件路径  
this.audioContext.volume = this.volume; // 设置音量  
this.audioContext.play(); // 开始播放  

}

操作步骤:

1、createInnerAudioContext 播放网络路径:
https://XXXX.aliyuncs.com/audio/202507/20250701150516686388ac6227a.mp3?Expires=1751612716&OSSAccessKeyId=LTAI5tFRY33oR23Tatejksdx&Signature=nGvxvuAyheTXoazsdla%2Bh4BPQ4Y%3D
2、报错{"errMsg":"MediaError","errCode":-99}

预期结果:

1、能正常播放

实际结果:

1、报错{"errMsg":"MediaError","errCode":-99},无法播放

bug描述:

1、使用uni.createInnerAudioContext()播放网络mp3
2、报错:{"errMsg":"MediaError","errCode":-99}
3、这个链接的mp3文件放到其他网络路径下是ok的
4、报错的网络路径类似如下:
https://XXXX.aliyuncs.com/audio/202507/20250701150516686388ac6227a.mp3?Expires=1751612716&OSSAccessKeyId=LTAI5tFRY33oR23Tatejksdx&Signature=nGvxvuAyheTXoazsdla%2Bh4BPQ4Y%3D

5、有疑问:是不是createInnerAudioContext 播放的时候对这个路径处理异常导致无法播放???

2025-07-01 15:44 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

hello,可以私信我发一下你这个文件链接吗?我测试一下

菜菜2

菜菜2 (作者) - 11

这个网络路径的链接使用createInnerAudioContext播放在h5正常,在app才会报错:{"errMsg":"MediaError","errCode":-99}

  • 菜菜2 (作者)

    目前app使用renderjs的方式来播放音频

    2025-07-01 18:58

要回复问题请先登录注册