Android PC 투 스크린 기능 구현 예시 코드
코드 주소:https://github.com/deepsadness/MediaProjectionDemo
효과 미리 보기
스크린 효과 미리보기
간단 한 설명:
vysor 를 보 니 너무 재미 있어 서 비슷 한 기능 을 해 볼 수 있 을 까 하 는 생각 이 들 었 습 니 다.관련 실현 을 검색 했다.인터넷 상에 서 이미 네티즌 들 이 vysor 에 대해 분석 한 것 을 발견 하 였 다.그래서 생각 에 따라 준 마 를 찾 아 미디어 Projection Api 에 대한 연습 으로 이 작은 프로젝트 를 완성 했다.
주요 사고 방향
1.화면 캡 처 가 져 오기
Android 는 Api 21 이상 에서 시스템 의 Api 를 제공 하여 조작 할 수 있 습 니 다.
주로 이 몇 가지 종류의 상호 협조 이다.
MediaProjection 과 Virtual Surface,그리고 캡 처 하면 ImageReader 를 사용 하여 세 가지 종 류 를 조합 하여 사용 합 니 다.
세트 사용 설명도.png
여기 서 주의해 야 할 것 은 이 리 셋 을 통 해 화면 이 변 할 때마다 이 인 터 페 이 스 를 리 셋 하여 최신 캡 처 를 얻 을 수 있다 는 것 이다.
ImageReader::setOnImageAvailableListener
2.Socket 연결 을 구축 하여 그림 의 데 이 터 를 전달 합 니 다.
node 부분의 코드 는https://github.com/deepsadness/MediaProjectionDemo/tree/master/sockt
우리 의 목 표 는 웹 페이지 에서 열 리 는 것 이기 때문에 웹 페이지 와 통신 해 야 한다.간단하게 WebSocket 을 사용 하여 쌍방 통 로 를 진행 할 수 있 습 니 다.
간단 한 설명도 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.다음 단계다음 단 계 는 녹 화 된 에이 피 를 이용 해 녹화 방송 을 하 는 것 이다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.