# ohos_demo **Repository Path**: dingtalkrepo/ohos_demo_open ## Basic Information - **Project Name**: ohos_demo - **Description**: 基于鸿蒙系统上的开源 WebRTC 构建的 Demo 应用 - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 4 - **Created**: 2024-12-09 - **Last Updated**: 2025-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流等任意数据的传输。
本demo中使用到的 WebRTC 代码仓:[ohos_webrtc](https://gitee.com/dingtalkrepo/webrtc_open.git)。 ## 快速体验演示项目 ### 开发环境准备 Demo 基于 WebRTC M126,6478 Branch的版本构建鸿蒙上的 RTC 通话,为确保您能够顺利运行本演示项目,请预先确认您的开发环境满足以下条件: **Dev 工具版本**:请确保已安装 DevEco 5.0.3.814 或更高版本。 **移动设备**:推荐使用鸿蒙操作系统 5.0.0.107 SP8 版本或以上版本的华为手机作为测试平台。 **网络连接**:请保证您的开发计算机与测试用移动设备均已成功接入互联网。 ### 快速跑通 Demo 1、配置 WebRTC 源码路径 WEBRTC\_ROOT\_PATH 为本地 WebRTC 源码地址 ![输入图片说明](ReadMeImage/demo1.png) 2、DevEco Studio 编译器,Build Hap(s), 并选择合适的设备,运行成功后,手机呈现的 APP 首页 ![输入图片说明](ReadMeImage/demo4.png) 3、点击Video Call 进入界面,输入房间号,点击Join Room进入房间,Use WebRTC Native API是切换开关,决定使用webrtc native c++ api 或者 webrtc ohos c++ api ![输入图片说明](ReadMeImage/demo5.png) 4、点击Join Room 进入房间后,等待对方进入房间。界面上有四个功能按钮,分别是挂断,切换前后摄像头,屏幕共享和静音 ![输入图片说明](ReadMeImage/demo6.png) ![输入图片说明](ReadMeImage/demo7.png) ### OHOS C++ API 介绍 WebRTC 源码 sdk 目录下,有针对 iOS 和 Andriod 的 Native Code。Native Code 的介绍如下链接 [iOS Objc](https://webrtc.googlesource.com/src/+/refs/branch-heads/6478/sdk/objc/) [Android Java](https://webrtc.googlesource.com/src/+/refs/branch-heads/6478/sdk/android/) 在 WebRTC 开源中,在 sdk 目录下, 参考 iOS 和 Andriod 的 Native Code,新增 ohos 目录,针对 WebRTC C++ API,做了一层 SDK Wrappers,对 WebRTC C++ API 做进一步的封装,包括线程调度以及 WebRTC 在鸿蒙上的一些功能扩展(共享屏幕,共享音频,麦克风控制等) 开发者可自主选择使用 sdk/ohos 目录下的 WebRTC C++ API Wrappers,或者 api 目录下的 WebRTC 原生 C++ API 实现鸿蒙上的 RTC 通信。对于部分开发者,也使用自己已有的封装类实现 RTC 通信。 ### Demo 演示 ![输入图片说明](ReadMeImage/Demo%E6%BC%94%E7%A4%BA.gif)