html52.com
我爱小程序-开发者交流社区

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

问题模块 框架类型 问题类型 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();

})

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


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

网友回复

澄海:

新的那个 api 根本没法用。

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

Shaun Shi:

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

nickname:

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

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付