收藏
回答

请问微信小程序怎么播放base64编码后的语音数据?

请问微信小程序怎么播放base64编码后的语音数据?求赐教

回答关注问题邀请回答
收藏

4 个回答

  • 拾忆
    拾忆
    2018-12-07

    直接播放不行吧

    base64传到后端-->转化成mp3-->下载-->播放

    2018-12-07
    有用 1
    回复 6
    • 胜瑾
      胜瑾
      2018-12-07

      我的base64数据就是从后端过来的

      2018-12-07
      1
      回复
    • 拾忆
      拾忆
      2018-12-07回复胜瑾

      那不行的,得用文件播放

      2018-12-07
      1
      回复
    • 胜瑾
      胜瑾
      2018-12-07回复拾忆

      哦哦 那好的  谢谢

      2018-12-07
      1
      回复
    • echo
      echo
      2019-12-26
      我的要求不能将文件上传到服务器项目路径下 所以我是转成base64存到了数据库    再取出来base64无法播放   如果在后台转MP3下载就是存项目里了  请问怎么解决?
      2019-12-26
      回复
    • 🌠
      🌠
      2020-05-03回复echo
      怎么将语音转为base64呀
      2020-05-03
      回复
    查看更多(1)
  • 雨肖
    雨肖
    2024-01-19

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

    注:使用audio组件会存在兼容问题,部分手机播放不了,也无法跨页面播放音频

    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
      },
    })
    
    2024-01-19
    有用
    回复
  • 垚垚
    垚垚
    2020-09-06

    已解决,将audio标签的src属性修改为data:audio/wav;base64,加上api返回的speech数据

    2020-09-06
    有用
    回复 2
    • 负能量
      负能量
      2021-02-21
      确定这样可以吗document.createElement('audio')
      2021-02-21
      回复
    • M.Feng
      M.Feng
      2022-07-26
      你这个是原声小程序开发的吗?有用三方编译开发吗?
      2022-07-26
      回复
  • 人生
    人生
    发表于小程序端
    2020-05-15
    你伟啥子要进来?进来巴钱转起走了?久想走?
    2020-05-15
    有用
    回复
登录 后发表内容