{"id":32305866,"url":"https://github.com/rongcloud/rtc-flutter-wrapper","last_synced_at":"2025-10-23T06:57:14.817Z","repository":{"id":87164886,"uuid":"394216761","full_name":"rongcloud/rtc-flutter-wrapper","owner":"rongcloud","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-08T09:30:29.000Z","size":36089,"stargazers_count":2,"open_issues_count":1,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-23T06:57:10.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rongcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-09T08:46:38.000Z","updated_at":"2025-09-08T09:29:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ca37dbd-66df-47ac-bf15-2e0532e6a473","html_url":"https://github.com/rongcloud/rtc-flutter-wrapper","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/rongcloud/rtc-flutter-wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Frtc-flutter-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Frtc-flutter-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Frtc-flutter-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Frtc-flutter-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rongcloud","download_url":"https://codeload.github.com/rongcloud/rtc-flutter-wrapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Frtc-flutter-wrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280577133,"owners_count":26354073,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-23T06:57:14.082Z","updated_at":"2025-10-23T06:57:14.812Z","avatar_url":"https://github.com/rongcloud.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 融云 Flutter RTCLib\n\n[![GitHub stars](https://img.shields.io/github/stars/rongcloud/rtc-flutter-wrapper.svg)](https://github.com/rongcloud/rtc-flutter-wrapper) [![Pub version](https://img.shields.io/pub/v/rongcloud_rtc_wrapper_plugin.svg)](https://pub.dev/packages/rongcloud_rtc_wrapper_plugin)\n\n本文档主要讲解了如何使用融云  RTC Wrapper Plugin，基于 融云 iOS/Android 平台的  RTCLib  SDK。\n\n\n[融云 iOS RTCLib 文档](https://docs.rongcloud.cn/ios-rtclib)\n\n[融云 Android RTCLib 文档](https://docs.rongcloud.cn/android-rtclib)\n\n## 准备工作\n\n1. 如果您还没有融云开发者账号，在[融云控制台](https://console.rongcloud.cn/)注册一个。\n2. 在控制台，通过**应用配置**\u003e**基本信息**\u003e**App Key**，获取您的 App Key。\n3. 在控制台，通过**应用配置**\u003e**音视频服务**\u003e**实时音视频**，开通音视频服务。\n4. 通过服务端 API，[获取用户 Token](https://docs.rongcloud.cn/platform-chat-api/user/register)。\n\n\n## 依赖 RTC Wrapper Plugin\n\n在项目的 `pubspec.yaml` 中写如下依赖：\n\n```\ndependencies:\n  flutter:\n    sdk: flutter\n  rongcloud_rtc_wrapper_plugin: 5.24.4\n```\n\niOS 需要在 `Info.plist` 中需要加入对相机和麦克风的权限申请。\n\n```\n\u003ckey\u003eNSCameraUsageDescription\u003c/key\u003e\n\u003cstring\u003e使用相机\u003c/string\u003e\n\u003ckey\u003eNSMicrophoneUsageDescription\u003c/key\u003e\n\u003cstring\u003e使用麦克风\u003c/string\u003e\n```\n还需要添加字段 `io.flutter.embedded_views_preview` 值为 `YES`。\n\nAndroid 需要在 AndroidManifest.xml 文件中声明对相机和麦克风的权限。\n\n```\n\u003cuses-permission android:name=\"android.permission.CAMERA\" /\u003e\n\u003cuses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" /\u003e\n\u003cuses-permission android:name=\"android.permission.RECORD_AUDIO\" /\u003e\n\u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n```\n\n## 快速开始\n\n详细的集成步骤、API 使用说明、功能配置等内容，请参考 [融云 RTCLib Flutter 完整开发文档](https://docs.rongcloud.cn/flutter-rtclib/init)。\n\n文档包含以下完整内容：\n- [初始化](https://docs.rongcloud.cn/flutter-rtclib/init) - IM SDK 初始化、RTC 引擎创建\n- [房间管理](https://docs.rongcloud.cn/flutter-rtclib/room) - 加入房间、离开房间\n- [设备管理](https://docs.rongcloud.cn/flutter-rtclib/device) - 摄像头、麦克风控制\n- [用户资源管理](https://docs.rongcloud.cn/flutter-rtclib/user) - 发布与订阅资源\n- [音视频模式](https://docs.rongcloud.cn/flutter-rtclib/meeting) - 实现音视频会议\n- [直播模式](https://docs.rongcloud.cn/flutter-rtclib/live) - 实现低延迟直播\n- 完整的 API 参考和错误码说明\n\n## 基本使用示例\n\n### 1. 初始化和连接\n```dart\n// 初始化 IM SDK\nRongIMClient.init(RongAppKey);\n\n// 连接 IM 服务\nRongIMClient.connect(IMToken, (code, userId) {});\n\n// 创建 RTC 引擎\nengine = await RCRTCEngine.create();\n```\n\n### 2. 加入房间\n```dart\nRCRTCRoomSetup setup = RCRTCRoomSetup.create(\n    type: RCRTCMediaType.audio_video,\n    role: RCRTCRole.meeting_member,\n);\nengine.joinRoom(roomId, setup);\n```\n\n### 3. 发布和订阅资源\n```dart\n// 发布本地资源\nengine.publish(RCRTCMediaType.audio_video);\n\n// 订阅远端资源\nengine.subscribe(userId, type);\n```\n\n## 支持\n\n如有任何问题，请通过以下方式获取帮助：\n- 查阅[官方完整文档](https://docs.rongcloud.cn/flutter-rtclib)\n- [提交工单](https://console.rongcloud.cn/agile/formwork/ticket/create)，联系融云技术支持\n\n------\n\n\n# Introducing RC RTCLib for Flutter\n\n[![GitHub stars](https://img.shields.io/github/stars/rongcloud/rtc-flutter-wrapper.svg)](https://github.com/rongcloud/rtc-flutter-wrapper) [![Pub version](https://img.shields.io/pub/v/rongcloud_rtc_wrapper_plugin.svg)](https://pub.dev/packages/rongcloud_rtc_wrapper_plugin)\n\nThis document mainly explains how to use the RC RTC Wrapper Plugin, which is based on the RC RTCLib SDK for iOS/Android platforms.\n\n\n[RC iOS RTCLib Documentation](https://docs.rongcloud.io/ios-rtclib)\n\n[RC Android RTCLib Documentation](https://docs.rongcloud.io/android-rtclib)\n\n## Preparations\n\n1. If you don't have a RongCloud developer account yet, register one at [RongCloud Console](https://console.rongcloud.io/).\n2. In the console, get your App Key through **Configuration** \u003e **Basic information** \u003e **App key**.\n3. In the console, activate the audio and video service by submitting a ticket.\n4. Get user Token through server-side API, [register user](https://docs.rongcloud.io/platform-chat-api/user/register).\n\n## Dependencies on RTC Wrapper Plugin\n\nAdd the following dependencies to your project's `pubspec.yaml`:\n\n```\ndependencies:\n  flutter:\n    sdk: flutter\n  rongcloud_rtc_wrapper_plugin: 5.24.4\n```\n\niOS requires adding camera and microphone permission requests in `Info.plist`.\n\n```\n\u003ckey\u003eNSCameraUsageDescription\u003c/key\u003e\n\u003cstring\u003eUse camera\u003c/string\u003e\n\u003ckey\u003eNSMicrophoneUsageDescription\u003c/key\u003e\n\u003cstring\u003eUse microphone\u003c/string\u003e\n```\nYou also need to add the field `io.flutter.embedded_views_preview` with the value `YES`.\n\nAndroid needs to declare camera and microphone permissions in the AndroidManifest.xml file.\n\n```\n\u003cuses-permission android:name=\"android.permission.CAMERA\" /\u003e\n\u003cuses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" /\u003e\n\u003cuses-permission android:name=\"android.permission.RECORD_AUDIO\" /\u003e\n\u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n```\n\n## Quick Start\n\nFor detailed integration steps, API usage instructions, feature configurations, and more, please refer to [RongCloud RTCLib Flutter Complete Development Documentation](https://docs.rongcloud.io/flutter-rtclib/init).\n\nThe documentation includes comprehensive content on:\n- [Initialization](https://docs.rongcloud.io/flutter-rtclib/init) - IM SDK initialization, RTC engine creation\n- [Room Management](https://docs.rongcloud.io/flutter-rtclib/room) - Join room, leave room\n- [Device Management](https://docs.rongcloud.io/flutter-rtclib/device) - Camera, microphone control\n- [User Resource Management](https://docs.rongcloud.io/flutter-rtclib/user) - Publish and subscribe resources\n- [Audio \u0026 Video Mode](https://docs.rongcloud.io/flutter-rtclib/meeting) - Implement audio and video meetings\n- [Live Broadcast Mode](https://docs.rongcloud.io/flutter-rtclib/live) - Implement low-latency live streaming\n- Complete API reference and error code explanations\n\n## Basic Usage Examples\n\n### 1. Initialize and Connect\n```dart\n// Initialize IM SDK\nRongIMClient.init(RongAppKey);\n\n// Connect to IM service\nRongIMClient.connect(IMToken, (code, userId) {});\n\n// Create RTC Engine\nengine = await RCRTCEngine.create();\n```\n\n### 2. Join Room\n```dart\nRCRTCRoomSetup setup = RCRTCRoomSetup.create(\n    type: RCRTCMediaType.audio_video,\n    role: RCRTCRole.meeting_member,\n);\nengine.joinRoom(roomId, setup);\n```\n\n### 3. Publish and Subscribe Resources\n```dart\n// Publish local resources\nengine.publish(RCRTCMediaType.audio_video);\n\n// Subscribe to remote resources\nengine.subscribe(userId, type);\n```\n\n## Support\n\nFor any questions, please get help through:\n- Consult the [Official Complete Documentation](https://docs.rongcloud.io/flutter-rtclib)\n- [Submit a ticket](https://console.rongcloud.io/agile/formwork/ticket/create) to contact RongCloud technical support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frongcloud%2Frtc-flutter-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frongcloud%2Frtc-flutter-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frongcloud%2Frtc-flutter-wrapper/lists"}