- 步骤一
在微信开发工具,使用官方提供代码, 播放连接地址音频,可以听到语音信息,但是通过手机预览,无法听到音频,并且接受到报错信息{'errcode": 10001,"errMsg":"errcode : 67, err : decode audio fail"},代码使用:
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = '我的地址'
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
音频文件未WAV格式,通过GET请求获取到头信息为RIFF&8WAVEfmt @@data8
- 步骤二
初步判断,是否因为文件未加载完成而播放失败?准备下载完成后再进行播放操作,代码如下:
wx.downloadFile({
url: '我的地址',
success: function (res) {
wx.hideLoading()
if (res.statusCode === 200) {
console.log('begin play')
innerAudioContext.src = res.tempFilePath;
innerAudioContext.onPlay((a) => {
console.log('开始播放')
})
}
}
})
本次修改后,音频文件在手机小程序预览,可以播放。
- 步骤三
群求其他解决办法:发现官方文档有个onCanplay事件,我调整代码为:
innerAudioContext.onCanplay((res) => {
console.log('can play now')
innerAudioContext.play();
})
但是,调整后的代码,并未达到预期,还是报步骤一的错误
希望能够通过正常方式进行语音地址的音频播放,请协助解决这个问题
这个问题找到答案了 mp3还有还有一个副格式 具体的可以看 这个 https://blog.csdn.net/datamining2005/article/details/78954367
你可以找一个可以在安卓播放的音频 看一下 再找一个不能播的看一下 你大概就明白了
有好的解决办法了没
我也遇到了这个问题,iOS系统和开发工具可以播放,安卓系统不可以,怎么解决
新的那个 api 根本没法用。
你可以用成 audio 组件 和 createAudioContext api。这个没问题
请问,这个问题可以解决吗,我希望能够得到一个确切的回复,便于我这边开发的后续安排,非常感谢!
你好,测试问题未复现,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
你好,这边访问不了这个音频,请确认音频格式是支持的,目前暂不支持vnd/dlna/adts格式
这个是WAV格式,在通过GET请求到的数据包头可以看出,并且,在步骤二中,下载到本地之后,就可以播放了,此地址你可以直接在浏览器打开
这边测试是没有复现问题哦,这样很难定位问题的,还请按正确格式提供一下能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
wechatide://minicode/vBsynYmc7S17
你好,示例代码已经发布,请查收!再次说明一下,在开发工具中可以使用,但是在手机端无法正常播放,console会输出错误信息,谢谢!
wechatide://minicode/tNuy6YmW7v1X