UNPKG

react-native-ucloud-rtc

Version:

ucloud rtc native sdk for react-native

108 lines (90 loc) 2.54 kB
# react-native-ucloud-rtc ## 安装使用 Install with npm: `npm install --save react-native-ucloud-rtc` Or, install with yarn: `yarn add react-native-ucloud-rtc` Either way, then link with: `react-native link react-native-ucloud-rtc` ## React-Native 调用 ``` import UCloudRtc from 'react-native-ucloud-rtc'; // 显示播放器 const RNMyVideoView = requireNativeComponent('RNMyVideoView'); ... ... UCloudRtc.initWithAppid(appid, appKey); ... ... <View> <RNMyVideoView style={styles.localVideoStyle} /> </View> ... ``` ## API #### 初始化 initWithAppid ``` appid: appid, appKey: appKey, isDebug: 是否开启日志, true-开启、false-关闭 roomType: 0小班课、视频会议、默认值 1大班课 streamProfile: 权限 0上传权限 1下载权限 2所有权限 默认值 UCloudRtc.initWithAppid(appid, appKey, isDebug, roomType, streamProfile).then(res => { console.log('收到回调', res); }).catch(err => { console.log('捕获异常', err); }); ``` #### 加入房间 joinRoomWithRoomid ``` UCloudRtc.joinRoomWithRoomid(roomId, userId, token).then(res => { console.log('收到回调', res); }).catch(err => { console.log('捕获异常', err); }); ``` #### 离开房间 ``` UCloudRtc.leaveRoom(); ``` #### 订阅远程流 ``` UCloudRtc.subscribeRemoteStream() ``` #### 取消订阅远程流 ``` UCloudRtc.unSubscribeRemoteStream() ``` #### 发布本地流 ``` flag: 是否开启摄像头 true-推送音视频流 false-仅推送音频 UCloudRtc.publishLocalStreamWithCameraEnable(flag) ``` #### 取消发布本地流 ``` UCloudRtc.unPublishLocalStream() ``` #### 录制音视频 ``` UCloudRtc.startRecordLocalStreamWithType() ``` #### 停止录制 ``` UCloudRtc.stopRecordLocalStream() ``` ### 事件监听 ``` event_memberDidJoinRoom:用户进入房间 event_memberDidLeaveRoom:用户离开房间 event_remoteVolumeChange:声音变化回调 const UCloudRtcEventEmitter = new NativeEventEmitter(UCloudRtc); UCloudRtcEventEmitter.addListener('event_memberDidJoinRoom', args => { console.log('事件event_memberDidJoinRoom', args); }); UCloudRtcEventEmitter.addListener('event_memberDidLeaveRoom', args => { console.log('事件event_memberDidLeaveRoom', args); }); UCloudRtcEventEmitter.addListener('event_remoteVolumeChange', args => { console.log('事件event_remoteVolumeChange', args); }); ```