发布自定义资源
提示
在 Android 平台至少需要调用 publish(RCRTCMediaType.AudioVideo)
或 publish(RCRTCMediaType.Audio)
方法发布成功音频资源后,再发布自定义视频流才有效。tag 不能 包含 _
和 RongCloudRTC
字符。
创建自定义视频资源
从本地目录下的资源文件创建自定义视频资源,path
需要是平台绝对路径,tag
为自定义视频标识。
-
示例代码:
rtcEngine.createCustomStreamFromFile(path, tag);
设置自定义视频属性
-
示例代码:
let config = {
minBitrate: 500,
maxBitrate: 2200,
fps: RCRTCVideoFps.Fps25,
resolution: RCRTCVideoResolution.Resolution_720x1280,
};
rtcEngine.setCustomStreamVideoConfig(tag, config);
设置自定义视频资源预览窗口
-
示例代码:
导入预览窗口组件
// 导入 RCReactNativeRtcView
import RCReactNativeRtcView from '@rongcloud/react-native-rtc';添加预览窗口并获取viewTag
// 增加 RCReactNativeRtcView 组件, fitType: 视频填充模式, mirror: 视频是否镜像显示。并在ref中获取viewTag
<RCReactNativeRtcView
ref={(ref) => {
let viewTag = findNodeHandle(ref);
}}
fitType={RCRTCViewFitType.Center}
mirror={true}>
</RCReactNativeRtcView>设置预览窗口,其中viewTag是上一步获取的 viewTag
// 设置预览窗口,viewTag为上一步获取的 viewTag
rtcEngine.setLocalCustomStreamView(tag, viewTag).then(code=>{
if (code === 0) {
// 设置成功
} else {
// 设置失败
}
})
发布自定义视频资源
-
示例代码:
rtcEngine.publishCustomStream(tag);
设置远端自定义视频资源发布监听
-
示例代码:
rtcEngine.setOnRemoteCustomStreamPublishedListener((roomId: string, userId: string, tag: string, type: RCRTCMediaType) => {
// roomId 房间 ID
// userId 远端用户 ID
// tag 远端自定义视频资源 tag
// type 资源类型
});
订阅远端自定义视频资源
-
示例代码:
rtcEngine.subscribeCustomStream(userId, tag);
设置远端自定义视频资源预览窗口
-
示例代码:
// 设置预览窗口,viewTag参考setLocalCustomStreamView说明
rtcEngine.setRemoteCustomStreamView(userId, tag, viewTag).then(code=>{
if (code === 0) {
// 设置成功
} else {
// 设置失败
}
})