收藏
回答

小程序能不能直接使用base64音频文件播放?

使用createInnerAudioContext方法来,存文件到云服务器太费流量了

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

2 个回答

  • 雨肖
    雨肖
    01-19

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

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

    const backgroundAudioManager = wx.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
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2023-02-08

    你可以用临时路径啊

    2023-02-08
    有用
    回复 6
    • Taylor
      Taylor
      2023-02-08
      大佬,是这样的后端接口返回的就是一个文件流
      2023-02-08
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-02-08回复Taylor
      文件流转成临时地址不就行了
      2023-02-08
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-02-08回复Taylor
      我是真没看懂   你这算强行解释了  跟返回文件流有啥关系?
      2023-02-08
      回复
    • Taylor
      Taylor
      2023-02-08回复Mr.Zhao
      用哪个api
      2023-02-08
      回复
    • Taylor
      Taylor
      2023-02-08回复Mr.Zhao
      [12,23,45]这种类型的
      2023-02-08
      回复
    查看更多(1)
登录 后发表内容