本文介紹了Android PC投屏功能實現(xiàn)的示例代碼,分享給大家,具體如下:
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供額濟納網(wǎng)站建設(shè)、額濟納做網(wǎng)站、額濟納網(wǎng)站設(shè)計、額濟納網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、額濟納企業(yè)網(wǎng)站模板建站服務(wù),10余年額濟納做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
代碼地址 :https://github.com/deepsadness/MediaProjectionDemo
效果預(yù)覽
投屏效果預(yù)覽
簡單說明:
想法來源
看到vysor,覺得特別好玩,于是就想著自己能不能試著做一個類似的功能出來。搜索了相關(guān)實現(xiàn)。發(fā)現(xiàn)網(wǎng)上已經(jīng)有網(wǎng)友針對vysor做了分析。于是就照著思路,按圖索驥,當(dāng)作對MediaProjection Api的練習(xí),來完成這個小項目
主要思路
1. 獲取屏幕的截屏
Android在Api 21以上為我們已經(jīng)提供了系統(tǒng)的Api可以進行操作。
主要是這幾個類的相互配合
MediaProjection和VirtualSurface,還有截圖的話,使用ImageReader,三個類配合使用。
配套使用示意圖.png
這里需要注意的是,需要通過這個回調(diào),每當(dāng)屏幕發(fā)生變化,就會回調(diào)這個接口,可以得到最新的截圖。
ImageReader::setOnImageAvailableListener
2. 搭建Socket連接,將圖片的數(shù)據(jù)進行傳遞
node 部分的代碼在 https://github.com/deepsadness/MediaProjectionDemo/tree/master/sockt
因為我們的目標(biāo)是在網(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é)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
網(wǎng)站欄目:AndroidPC投屏功能實現(xiàn)的示例代碼
當(dāng)前鏈接:http://aaarwkj.com/article36/peippg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站制作、微信小程序、企業(yè)建站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)