React Native 是一个使用React和应用平台的原生功能来构建 Android 和 iOS 应用的开源框架。通过 React Native,您可以使用 JavaScript 来访问移动平台的 API,以及使用 React 组件来描述 UI 的外观和行为:一系列可重用、可嵌套的代码。
TRTC React Native SDK 是基于腾讯云 iOS/Android 平台的 TRTC SDK 进行封装的,架构图整体跟Flutter类似。
TRTC React Native sdk类文件说明
- trtc_cloud-腾讯云视频通话功能的主要接口类;
- tx_video_view-视频渲染view;
- tx_beauty_manager-美颜管理类;
- tx_audio_effect_manager-腾讯云音视频通话功能音乐和人声设置接口;
- tx_device_manager-设备管理类;
- trtc_cloud_def-腾讯云音视频通话功能的关键类型定义;
- trtc_cloud_listener-腾讯云音视频通话功能的事件回调监听接口。 集成SDK
ReactNative SDK 已经发布到 npm (https://www.npmjs.com/package/trtc-react-native),您可以通过配置 package.json 安装。
1. 在项目的 package.json 中写如下依赖:
代码语言:javascript复制"dependencies": { "trtc-react-native": "^2.0.0"},
2. 配置摄像头和麦克风的权限,即可开启音视频通话功能。
调用示例
1.初始化
代码语言:javascript复制// 创建 TRTCCloud 单例const trtcCloud = TRTCCloud.sharedInstance();// 获取设备管理模块const txDeviceManager = trtcCloud.getDeviceManager();// 获取音效管理类const txAudioManager = trtcCloud.getAudioEffectManager();// 获取美颜管理类const txBeautyManager = trtcCloud.getBeautyManager();
2.进退房
代码语言:javascript复制const params = new TRTCParams({ sdkAppId: SDKAPPID,//应用id userId,//用户id userSig,//用户签名 roomId: 2366,//房间Id });//进房trtcCloud.enterRoom(params, TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL);//退房trtcCloud.exitRoom();
3.事件监听
代码语言:javascript复制//设置事件监听trtcCloud.registerListener(onRtcListener);
function onRtcListener((type: TRTCCloudListener, params: any) => { //进房回调事件 if (type === TRTCCloudListener.onEnterRoom) { if (params['result'] > 0) { showToast('进房成功'); } } // 远端用户进房 if (type === TRTCCloudListener.onRemoteUserEnterRoom) { //params['userId']参数为远端用户userId } //远端用户是否打开麦克风 if (type === TRTCCloudListener.onUserAudioAvailable) { //param['userId']表示远端用户id //param['visible'] true表示打开麦克风 }});//移除事件监听trtcCloud.unRegisterListener(onRtcListener);
4.显示本地视频
代码语言:javascript复制<TXVideoView.LocalView />
5.显示远端视频
代码语言:javascript复制<TXVideoView.RemoteView userId={remoteUserId} streamType={TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG}/>
6.显示远端屏幕分享
代码语言:javascript复制<TXVideoView.RemoteView userId={remoteUserId} streamType={TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SUB}/>
如果您是一个前端发烧友,那TRTC React Native SDK是您实现音视频通话的不二之选,快来集成我们的SDK吧。