收藏
回答

语音播放,在开发工具可以,手机上无法播放

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.createInnerAudioContext() 客户端 6.7.2 2.2.4

- 步骤一

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

})

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


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

最后一次编辑于  2018-08-24  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

6 个回答

  • nickname
    nickname
    2018-08-24

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

    2018-08-24
    赞同
    回复 16
    • nickname
      nickname
      2018-08-24回复Shaun Shi

      你好,这边访问不了这个音频,请确认音频格式是支持的,目前暂不支持vnd/dlna/adts格式

      2018-08-24
      回复
    • Shaun Shi
      Shaun Shi
      2018-08-24回复nickname

      这个是WAV格式,在通过GET请求到的数据包头可以看出,并且,在步骤二中,下载到本地之后,就可以播放了,此地址你可以直接在浏览器打开

      2018-08-24
      回复
    • nickname
      nickname
      2018-08-24回复Shaun Shi

      这边测试是没有复现问题哦,这样很难定位问题的,还请按正确格式提供一下能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2018-08-24
      回复
    • Shaun Shi
      Shaun Shi
      2018-08-27回复nickname

      wechatide://minicode/vBsynYmc7S17

      你好,示例代码已经发布,请查收!再次说明一下,在开发工具中可以使用,但是在手机端无法正常播放,console会输出错误信息,谢谢!

      2018-08-27
      回复
    • จุ๊บ คิดถึง
      จุ๊บ คิดถึง
      2018-08-27回复nickname

      wechatide://minicode/tNuy6YmW7v1X

      2018-08-27
      回复
    查看更多(11)
  • Shaun Shi
    Shaun Shi
    2018-08-24

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

    2018-08-24
    赞同
    回复
  • 澄海
    澄海
    2018-08-27

    新的那个 api 根本没法用。

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

    2018-08-27
    赞同
    回复
  • 星期天不睡觉
    星期天不睡觉
    2018-11-23

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

    2018-11-23
    赞同
    回复
  • 晓贰丑
    晓贰丑
    06-04

    有好的解决办法了没


    06-04
    赞同
    回复
  • 🧐
    🧐
    08-15

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

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

    08-15
    赞同
    回复