视频管理
设置视频视图
视频组件
RN CallLib SDK 会暴露呈现视频的组件<RCReactNativeCallVideoView />
, 该组件是视频的容器。
代码示例
-
引入 RCReactNativeCallVideoView
import * as CallLib from '@rongcloud/react-native-calllib'
const RCReactNativeCallVideoView = CallLib.RCReactNativeCallVideoView -
在 React 组件里定义一个数组,用来存放视图容器的引用
this.viewInfo = []
-
在 React 的 render 函数里的使用
<RCReactNativeCallVideoView
style={{ width: '100%', height: '100%' }}
ref={(ref) => {
const node = findNodeHandle(ref)
if(node){
this.viewInfo.push({
node: node,
userId: user.userId
})
}
}}
/>
设置视频
通过 CallLib.setVideoView 方法设置视频。因要等原生视图完全渲染完成才能取得容器,所以 call.setVideoView 需要延时调用。
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userId | String | 是 | 用户id |
ref | String | 是 | videoView的容器的引用 |
type | Number | 是 | 视频显示模式 0 铺满 1 自适应 |
isZOrderOnTop | Boolean | 否 | 是否置顶 (仅Android 需要设置) |
代码示例
setTimeout(()=>{
CallLib.setVideoView(userId, ref, type, isZOrderOnTop);
}, 200)
切换前后置摄像头
在通话建立之后切换前后置摄像头,该方法适用于通过SDK打开 默认摄像头 的场景,视频默认打开前置摄像头。
示例代码
CallLib.switchCamera();
开关摄像头
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
isOpen | Boolean | 是 | 是否开启摄像头 |
RCCallIWCamera | Number | 是 | 0 未指定 1 前置相机 2 后置相机 |
在通话建立之后打开/关闭摄像头
示例代码
CallLib.enableCamera(isOpen,RCCallIWCamera)
降级通话
降级通话是指从视频通话转为音频通话,目前仅支持视频往音频单向转换。
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
mediaType | Number | 是 | 通话媒体类型 0表示音频通话 1表示视频通话 |
在通话建立之后降级通话。
示例代码
CallLib.changeMediaType(mediaType)