收藏
回答

wx.createBufferURL 在真机下的返回路径,不可被媒体标签video访问

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.createBufferURL 微信iOS客户端 8.0.10 2.19.2
  1. 问题表现

一个url视频,使用video标签的src属性可以正常播放;

相同的视频,如果采用wx.request 获得arraybuffer之后,再通过createBufferURL生成的 wxblob协议地址,不可被访问,video报错。


2. 期望效果


通过createBufferURL 生成的url,可以被video标签所播放;目前不可播放。

错误示例截图:

3.我的问题

3.1wxblob协议的url应该如何被正确使用?是否不可被video标签访问?

3.2如果对于开发者不可被访问,应该如何完成 arraybuffer 转 http协议url 的功能?


4.复现方式

见代码片段,请务必使用预览或者真机观察效果,IDE下并不会返回wxblob协议的url


5.备注

为什么要请求arraybuffer,直接video标签不可以吗?

不可以,因为我会在请求arrabuffer之后对buffer做一定的处理,这个处理会得到新的arraybuffer,我希望这个新的arraybuffer可以被video播放,所以需要用到createBufferURL方法来生成新的url再给video标签

我还做了什么来试图解决问题?

我尝试了进行base64来获得本地url进行video播放,但是小程序并不支持source标签。

wxblob资源的地址亦不可以被saveFile API使用,是否说明wxblob协议是不可以访问的?

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

3 个回答

  • 。
    2021-12-31

    我看了你这个片段,好像是因为跨域,没有配置合法域名,打开不校检合法域名就可以播放

    2021-12-31
    有用
    回复 2
    • 。
      2021-12-31
      2021-12-31
      回复
    • VaSeala
      VaSeala
      2022-09-27回复
      用真机测试:就算不跨域也无法播放
      2022-09-27
      回复
  • 楠
    2021-08-31

    遇到同样问题+10086。

    2021-08-31
    有用
    回复 6
    • 晓影
      晓影
      2021-09-09
      好像直接返回saveFile等获得的文件路径给video src,如 wxfile://store_1af554934975d07ef3d718e586403954212cb289f945fcf8.webm,视频就可以播放了,不用读取文件。
      2021-09-09
      回复
    • юрий
      юрий
      2021-09-09回复晓影
      可能不行,saveFaile需要的 temppath是通过手机相册\媒体库 等选择而来的,如果是自己的arrabuffer不可能被savefile所接受的
      2021-09-09
      1
      回复
    • 晓影
      晓影
      2021-09-09回复юрий
      我是先downloadFile然后saveFile保存视频,然后setStorage保存视频路径,下次就可以直接从文件里面读取视频不用下载了。至于自己修改后的arrayBuffer就不知道了,或许有方法。
      2021-09-09
      回复
    • 晓影
      晓影
      2021-09-09
      实在不行让服务器来处理视频,然后下载 -.-
      2021-09-09
      回复
    • юрий
      юрий
      2021-09-13回复晓影
      感谢,目前看来只能用服务端做一下处理了
      2021-09-13
      回复
    查看更多(1)
  • 源同学
    源同学
    2021-08-30

    同遇到,有解么

    2021-08-30
    有用
    回复 1
    • 晓影
      晓影
      2021-09-09
      好像直接返回saveFile等获得的文件路径给video src,如 wxfile://store_1af554934975d07ef3d718e586403954212cb289f945fcf8.webm,视频就可以播放了,不用读取文件。
      2021-09-09
      回复
登录 后发表内容