1.Android实现两台手机屏幕共享和远程控制
2.基于vue实现Web视频聊天和屏幕分享(附源码,安卓安卓PC版+手机版)
Android实现两台手机屏幕共享和远程控制
屏幕共享功能在视频通话和互动直播领域广泛应用,屏幕屏幕旨在增强互动体验和提高沟通效率。分享分享它允许将屏幕内容以视频形式实时分享给其他参与者,源码源码用增强实时视频通话的安卓安卓沟通效果。
屏幕共享在如下场景中应用广泛:
通过下载示例源码,屏幕屏幕源码泄漏漏洞获取屏幕共享功能实现的分享分享源代码,查看“/ZegoExpressExample/Others/src/main/java/com/example/others/screensharing”目录下相关文件。源码源码用
在实现屏幕共享功能前,安卓安卓确保满足以下准备工作:
结合 Android 系统 API 和 ZEGO Express SDK 自定义视频采集,屏幕屏幕实现屏幕分享功能。分享分享下图展示 Android 平台下实现屏幕共享的源码源码用数据流转流程。
获取用户录制屏幕权限,安卓安卓不同 Android 版本需获取的屏幕屏幕权限各异。对于 Android .0 及以上版本,分享分享需在代码中开启前台服务并注册 Service,易如意源码在 AndroidManifest.xml 中添加前台服务属性。
创建一个类,实现 Service 接口,在 onStartCommand 中创建 MediaProjection 实例,以实现屏幕录制。
开启 ZegoExpress SDK 自定义视频采集功能,并登录房间,向远端用户发送音视频流。
创建 VirtualDisplay 并给 ZEGO Express SDK 发送屏幕数据,通过 MediaProjection 创建 VirtualDisplay 实例,将虚拟显示器内容渲染到 Surface。
完成屏幕数据采集和分享后,其他用户可通过 startPlayingStream 接口拉取屏幕共享流。
获取更多屏幕共享 SDK 支持和帮助,访问即构文档中心获取示例、Android源码eoe开发文档和技术支持。有开发规划的开发者可访问即构官网,了解七周年全线音视频产品优惠详情,联系商务获取 RTC 产品优惠。
基于vue实现Web视频聊天和屏幕分享(附源码,PC版+手机版)
实现网页文字聊天相对简单,但要实现视频聊天则较为复杂。本文将介绍一个纯网页版的视频聊天和桌面分享的Demo,可直接在浏览器中运行,无需安装插件。
一. 主要功能及支持平台
1. 本Demo的主要功能包括:
(1)一对一语音视频聊天。
(2)远程桌面观看。
(3)当客户端掉线时,会自动重连,网络恢复后重连成功。html 格子 源码
2. 支持的平台包括:
(1)支持的操作系统有:Windows、信创国产Linux(银河麒麟、统信UOS)、Android、iOS、Mac、鸿蒙OS。
(2)支持的CPU架构有:X/X、ARM、MIPS、Loongarch。
(3)支持几乎所有主流浏览器:Chrome、Edge、Firefox、Safari、骰子透视源码浏览器、QQ浏览器等。
(4)此外,使用APP套壳,在WebView控件中加载Demo页面,也能正常进行视频聊天。这可以在C/S架构的客户端或手机APP中嵌入WebView控件来引入视频聊天或桌面分享功能。
二. 开发环境
1. 服务端:
服务端开发环境是Visual Studio ,开发语言是C#。
2. Web端:
PC版Web开发环境是VS Code 1.,使用vue 3。
手机版Web开发环境是HBuilder 3.8.,uni-app(导出H5)。
三. 运行效果
此Demo的源码分为三个部分:服务端、PC端Web(横版)和手机端Web(竖版)。首先来看移动端Web的运行效果。
(1)登录界面有三个输入框:服务器IP、用户账号和用户密码,用户账号和用户密码均可随便填写。
(2)首页界面有一个已连接的提示框,表示目前与服务端是连接状态,因网络或其他原因断开时,会提示已断开连接。
(3)发起视频聊天:输入对方的账号,点击请求视频会话按钮即可向对方发起视频聊天请求,对方接受请求后即可聊天。
(4)手机端不支持分享自己的桌面,但可以观看PC端桌面。
(5)PC端运行效果:登录后主页界面,左上角是关于自己的一些信息,右边窗口显示连接对方的摄像头或桌面。
(6)输入对方的账号,点击请求远程桌面,对方同意后即可观看别人的屏幕。
四. 服务端源码说明
注意,由于浏览器限制,将Web端部署到公网需要使用HTTPS协议,否则无法访问摄像头。
服务端也需要使用WSS协议,因此需要准备SSL证书用于部署。若仅在本地运行,则无需准备。
若不部署,则将服务端初始化代码中的第六行注释掉,并将第七行中的MultimediaServerFactory.CreateMultimediaServer方法中的wssOption用null替换掉。
若部署在服务器上,则需要将第五行XCertificate2中的两个参数分别修改为证书路径和密码。
五. Web端源码说明
本Demo中的Web端包含两套代码,移动端Web采用uni-app开发,PC端Web采用Vue框架开发。关键点如下:
1. 消息定义:定义了个消息类型,用于Web端之间进行通信,定义放在Vuex或src目录下的omcs目录下。
2. 自定义消息处理器:在登录成功后,通过调用多媒体管理器上的SetCustomMessageReceivedCallback方法,向multimediaManager注册回调函数,接收消息类型和发起者用户名数据,根据消息类型完成业务操作。
3. 一对一语音视频:实现逻辑为用户A向用户B发送VideoRequest消息,用户B收到消息后选择同意与否,并将携带用户B意愿数据的VideoResult消息发送给用户A。
4. 桌面分享:实现逻辑与语音视频类似,请求消息类型为DesktopRequest,响应消息类型为DesktopResult。
5. 断网重连:网络断开时,每5秒进行与服务器的重新连接,注入ConnectionInterrupted和ConnectionRebuildSucceed回调,在断开和重新连接成功时进行操作。
六. 如何在本地部署运行Web端
Web端包含两套代码,移动端Web目录是H5MediaDemo_WebH5,PC端Web目录是H5MediaDemo_WebPC。
1. 移动端web:通过HBuilder X运行,打开运行→运行到浏览器,选择浏览器即可运行。
2. PC端web:需要NodeJS环境,安装成功后,在命令行窗口输入node -v和npm -v检查是否安装成功。
在项目根目录下输入npm run dev运行项目。
七. 源码下载
(1)PC版源码
(2)手机版源码
此外,已部署测试服务器方便测试。
(1)PC Web测试网址
(2)手机 Web测试网址
网页版视频聊天Demo实现介绍到此结束,感谢!