语音播放,在开发工具可以,手机上无法播放
发布于 6 年前 作者 panjie 9267 次浏览 来自 问答
  • 步骤一

在微信开发工具,使用官方提供代码, 播放连接地址音频,可以听到语音信息,但是通过手机预览,无法听到音频,并且接受到报错信息{'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();

})

但是,调整后的代码,并未达到预期,还是报步骤一的错误

希望能够通过正常方式进行语音地址的音频播放,请协助解决这个问题

6 回复

这个问题找到答案了     mp3还有还有一个副格式  具体的可以看 这个  https://blog.csdn.net/datamining2005/article/details/78954367

你可以找一个可以在安卓播放的音频  看一下   再找一个不能播的看一下  你大概就明白了

有好的解决办法了没

你好,测试问题未复现,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

新的那个 api 根本没法用。

你可以用成 audio 组件 和 createAudioContext api。这个没问题

我也遇到了这个问题,iOS系统和开发工具可以播放,安卓系统不可以,怎么解决

请问,这个问题可以解决吗,我希望能够得到一个确切的回复,便于我这边开发的后续安排,非常感谢!

回到顶部