最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android PC投屏功能實現(xiàn)的示例代碼

 更新時間:2018年04月26日 09:56:21   作者:deep_sadness  
本篇文章主要介紹了Android PC投屏功能實現(xiàn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Android PC投屏功能實現(xiàn)的示例代碼,分享給大家,具體如下:

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

效果預(yù)覽

投屏效果預(yù)覽

簡單說明:

  1. 使用Android MediaProjection Api來完成視頻的截圖
  2. 通過WebSocket進行鏈接。將圖片傳遞給網(wǎng)頁

想法來源

看到vysor,覺得特別好玩,于是就想著自己能不能試著做一個類似的功能出來。搜索了相關(guān)實現(xiàn)。發(fā)現(xiàn)網(wǎng)上已經(jīng)有網(wǎng)友針對vysor做了分析。于是就照著思路,按圖索驥,當作對MediaProjection Api的練習,來完成這個小項目

主要思路

1. 獲取屏幕的截屏

Android在Api 21以上為我們已經(jīng)提供了系統(tǒng)的Api可以進行操作。

主要是這幾個類的相互配合

MediaProjection和VirtualSurface,還有截圖的話,使用ImageReader,三個類配合使用。

配套使用示意圖.png

這里需要注意的是,需要通過這個回調(diào),每當屏幕發(fā)生變化,就會回調(diào)這個接口,可以得到最新的截圖。

ImageReader::setOnImageAvailableListener

2. 搭建Socket連接,將圖片的數(shù)據(jù)進行傳遞

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

因為我們的目標是在網(wǎng)頁內(nèi)打開,所以需要和網(wǎng)頁進行通信??梢院唵蔚氖褂肳ebSocket進行雙方通向

簡單示意圖Again.png

通過Socket.iosocket.io/ 就可以簡單的實現(xiàn)

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,來做錄屏直播了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

青浦区| 美姑县| 正阳县| 吉木萨尔县| 华容县| 九台市| 宜黄县| 灵璧县| 新宁县| 株洲市| 新龙县| 惠东县| 新田县| 荥阳市| 信阳市| 陆丰市| 桦甸市| 中西区| 海南省| 缙云县| 英吉沙县| 肃北| 宝坻区| 锦州市| 资中县| 兴隆县| 平度市| 宝鸡市| 获嘉县| 剑川县| 东光县| 呼玛县| 凤山县| 宾川县| 连云港市| 安乡县| 镇安县| 喀喇沁旗| 乐陵市| 凤山市| 若羌县|