React Native 是一个使用React和应用平台的原生功能来构建 Android 和 iOS 应用的开源框架。通过 React Native,您可以使用 JavaScript 来访问移动平台的 API,以及使用 React 组件来描述 UI 的外观和行为:一系列可重用、可嵌套的代码。
TRTC React Native SDK 是基于腾讯云 iOS/Android 平台的 TRTC SDK 进行封装的,架构图整体跟Flutter类似。
ReactNative SDK 已经发布到 npm (https://www.npmjs.com/package/trtc-react-native),您可以通过配置 package.json 安装。
1. 在项目的 package.json 中写如下依赖:
"dependencies": { "trtc-react-native": "^2.0.0"},
2. 配置摄像头和麦克风的权限,即可开启音视频通话功能。
1.初始化
// 创建 TRTCCloud 单例const trtcCloud = TRTCCloud.sharedInstance();// 获取设备管理模块const txDeviceManager = trtcCloud.getDeviceManager();// 获取音效管理类const txAudioManager = trtcCloud.getAudioEffectManager();// 获取美颜管理类const txBeautyManager = trtcCloud.getBeautyManager();
2.进退房
const params = new TRTCParams({ sdkAppId: SDKAPPID,//应用id userId,//用户id userSig,//用户签名 roomId: 2366,//房间Id });//进房trtcCloud.enterRoom(params, TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL);//退房trtcCloud.exitRoom();
3.事件监听
//设置事件监听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.显示本地视频
<TXVideoView.LocalView />
5.显示远端视频
<TXVideoView.RemoteView userId={remoteUserId} streamType={TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG}/>
6.显示远端屏幕分享
<TXVideoView.RemoteView userId={remoteUserId} streamType={TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SUB}/>
如果您是一个前端发烧友,那TRTC React Native SDK是您实现音视频通话的不二之选,快来集成我们的SDK吧。
相关文档:
[快速集成SDK]:https://cloud.tencent.com/document/product/647/63791;
[跑通Demo]:https://cloud.tencent.com/document/product/647/63790。
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。