收藏
回答

InnerAudioContext 不支持base64播放?

我看到社区里很早就有人提过该问题了,是现在还不支持,还是我的使用有问题?

目前对接了腾讯云的语音合成,而语音合成只给返回了base64格式

通过audio组件的src 拼接 base64是可以播放的(audio 封装入 自定义组件中,只能通过点击control播放,通过api play也无法播放

可以播放,但是这种模式太麻烦了,而且wx.createAudioContext 已经被废弃推荐使用wx.createInnerAudioContent()。

通过wx.createInnerAudioContent()返回的innerAudioContent 播放又没有任何反应

最后一次编辑于  2021-11-05
回答关注问题邀请回答
收藏

3 个回答

  • 雨肖
    雨肖
    01-19

    使用getFileSystemManager、writeFile 将base64音频转为临时mp3文件地址(encoding: 'base64'),再使用getBackgroundAudioManager播放音频就行了,可以跨页面播放

    const audioPath = wx.env.USER_DATA_PATH + '/ordernew.mp3'
                const fs = wx.getFileSystemManager();
                fs.writeFile({
                  filePath: audioPath,
                  data: item,
                  encoding: 'base64',
                  success(res) {
                    backgroundAudioManager.title = '您有新的订单!'
                    backgroundAudioManager.src = audioPath
                  },
                })
    
    01-19
    有用
    回复 1
    • 豆豆
      豆豆
      10-10
      我这边还是不行,用外部的mp3文件就没问题
      10-10
      回复
  • 🍉
    🍉
    2022-03-24

    请问楼主解决了吗,我和你遇到了相同的问题,腾讯云的TTS只给返回base64

    2022-03-24
    有用
    回复 1
    • 闫龙
      闫龙
      2022-11-18
      大佬解决了吗,我这里不行啊
      2022-11-18
      回复
  • Cjiang
    Cjiang
    2021-11-05

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2021-11-05
    有用
    回复 3
    • 李凯旋
      李凯旋
      2021-11-05
      就是想确认一下支持不支持base64
      2021-11-05
      回复
    • Cjiang
      Cjiang
      2021-11-10回复李凯旋
      支持的
      2021-11-10
      回复
    • 闫龙
      闫龙
      2022-11-18回复Cjiang
      大佬,有没有demo啊,我这里不行
      2022-11-18
      回复
登录 后发表内容