网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

AndroidPC投屏功能实现的示例代码

本文介绍了Android PC投屏功能实现的示例代码,分享给大家,具体如下:

创新互联公司专业为企业提供额济纳网站建设、额济纳做网站、额济纳网站设计、额济纳网站制作等企业网站建设、网页设计与制作、额济纳企业网站模板建站服务,10余年额济纳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

代码地址 :https://github.com/deepsadness/MediaProjectionDemo

效果预览

Android PC投屏功能实现的示例代码

投屏效果预览

简单说明:

  1. 使用Android MediaProjection Api来完成视频的截图
  2. 通过WebSocket进行链接。将图片传递给网页

想法来源

看到vysor,觉得特别好玩,于是就想着自己能不能试着做一个类似的功能出来。搜索了相关实现。发现网上已经有网友针对vysor做了分析。于是就照着思路,按图索骥,当作对MediaProjection Api的练习,来完成这个小项目

主要思路

1. 获取屏幕的截屏

Android在Api 21以上为我们已经提供了系统的Api可以进行操作。

主要是这几个类的相互配合

MediaProjection和VirtualSurface,还有截图的话,使用ImageReader,三个类配合使用。

Android PC投屏功能实现的示例代码

配套使用示意图.png

这里需要注意的是,需要通过这个回调,每当屏幕发生变化,就会回调这个接口,可以得到最新的截图。

ImageReader::setOnImageAvailableListener

2. 搭建Socket连接,将图片的数据进行传递

node 部分的代码在 https://github.com/deepsadness/MediaProjectionDemo/tree/master/sockt

因为我们的目标是在网页内打开,所以需要和网页进行通信。可以简单的使用WebSocket进行双方通向

Android PC投屏功能实现的示例代码

简单示意图Again.png

通过Socket.iosocket.io/ 就可以简单的实现

3. 如何将图片显示出来

html中的src就可以直接对传递byte[]的进行解析。

 socket.on('image', function (msg) {
   var arrayBufferView = new Uint8Array(msg);
   var blob = new Blob([arrayBufferView], { type: "image/jpeg" });
   var urlCreator = window.URL || window.webkitURL;
   var imageUrl = urlCreator.createObjectURL(blob);
   var img = document.getElementById("screen");
   // var img = document.querySelector("#photo");
   img.src = imageUrl;

4. 下一步

下一步,就是使用 录制的Api,来做录屏直播了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网页标题:AndroidPC投屏功能实现的示例代码
新闻来源:http://bjjierui.cn/article/peippg.html

其他资讯