uniapp 播放音频出现-99错误怎么解决?
我在使用uniapp开发时遇到了播放音频报错的问题,控制台显示错误代码-99。尝试播放本地和网络音频文件都会出现这个错误,但相同的音频文件在其他平台上可以正常播放。请问这个错误是什么原因导致的?应该如何解决?我的开发环境是HBuilder X最新版,测试平台是安卓真机。
        
          2 回复
        
      
      
        检查音频文件路径是否正确,确保文件存在且可访问。若路径无误,尝试更换音频文件格式(如mp3、wav),并检查网络请求权限设置。
在 UniApp 中,播放音频时出现 -99 错误通常表示音频资源加载或播放失败。以下是常见原因及解决方法:
1. 检查音频文件路径
- 本地文件:确保路径正确,使用绝对路径(如 /static/audio.mp3)。
- 网络文件:需合法且可访问的 URL(如 https://example.com/audio.mp3),并配置manifest.json中的网络请求权限。
2. 音频格式兼容性
- 确保音频格式受平台支持(如 MP3、AAC)。不同平台(iOS/Android)可能支持不同格式,建议使用 MP3 作为通用格式。
3. 网络请求问题(仅网络音频)
- 如果是网络音频,检查 URL 是否有效,并确保服务器支持跨域(CORS)。在 manifest.json中配置合法域名:{ "networkTimeout": { "request": 10000 }, "mp-weixin": { "requiredPrivateInfos": ["getNetworkType"] } }
4. 音频文件损坏或无效
- 测试音频文件在其他播放器中是否正常。如果文件损坏,重新下载或转换格式。
5. 使用正确的 API 和事件处理
- 使用 uni.createInnerAudioContext()播放音频,并监听错误事件:const audio = uni.createInnerAudioContext(); audio.src = 'https://example.com/audio.mp3'; audio.onError((res) => { console.log('播放错误:', res.errMsg); // 输出具体错误信息 // 根据 res.errCode 处理错误(-99 对应加载失败) }); audio.play();
6. 平台特定问题
- 微信小程序:检查域名是否在微信后台配置,并开启音频播放权限。
- App 端:确认音频文件位于项目目录或可访问的网络地址。
7. 其他注意事项
- 避免同时播放多个音频,可能造成资源冲突。
- 在 onLoad或用户交互事件中触发播放,部分平台禁止自动播放。
通过以上步骤排查,通常可以解决 -99 错误。如果问题持续,检查 UniApp 和平台文档,或提供具体错误日志以进一步分析。
 
        
       
                     
                   
                    

