二进制音频视频转换为视频流播放及图片的显示

需求:因为视频,音频,图片没有实体文件的存储,后台返过来,都是二进制,即视频及音频流播放,图片可以返回base64进行展示…

Blob对象:二进制类型的对象

看到一篇很好文章,讲的是blob:JS中的Blob对象

ArrayBuffer:它是用来表示通用的、固定长度的原始二进制数据缓冲区,它是一个字节数组,不能直接操作,可以通过类型数组对象来操作它~~

处理之后的路径在下方==
blob:http://localhost:8080/766d***********4fdf-914a-5*******

在这里插入图片描述

请求数据

  let parmise = {
     // 这里是请求参数
  };
  const xhr = new XMLHttpRequest();
  const _that = this;
  xhr.open("post", PATH + "/url(请求路径)", true);
  // 请求类型 arraybuffer,这里一定是arraybuffer
  xhr.responseType = "arraybuffer";
  xhr.setRequestHeader("Content-Type", "application/json");
  xhr.onload = function() {
    if (xhr.status === 200 || xhr.status === 304) {
      console.log(xhr.response); // 二进制数据缓冲区
      let blob = new Blob([xhr.response], { type: "video/*" });
      _that.videoUrl = URL.createObjectURL(blob); // 获取URL
    }
  };
  xhr.send(JSON.stringify(parmise));

昨天在讨论blob加密视频安全的时候 说的信誓旦旦,今天查阅资料,打脸啊,分享两篇链接

视频网站中video标签中的视频资源以blob:http呈现的探索
从blob协议的加密视频地址下载视频——亲测真实解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值