react-native-ucloud-rtc
Version:
ucloud rtc native sdk for react-native
108 lines (90 loc) • 2.54 kB
Markdown
# 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);
});
```