收藏
回答

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

问题模块 框架类型 问题类型 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  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

22 个回答