渲染视频 编辑文档

功能描述

实现渲染本地和远端视图

接口描述

public class ChannelEngine {

/**
* 初始化本地视图。

该方法初始化本地视图并设置本地用户视频显示信息,只影响本地用户看到的视频画面,不影响本地发布视频。
调用该方法绑定本地视频流的显示视窗(View),并设置本地用户视图的渲染模式和镜像模式。
* @param view 通过CreateRendererView创建的SurfaceView
* @param renderMode 视频渲染模式
* @param mirrorMode 视频镜像模式
* @return 0为成功;其他失败
*/
public int setupLocalVideo(View view, int renderMode, int mirrorMode);


/**
* 该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
* 如果 App 不能事先知道对方的用户 ID,可以在 APP 收到 onOtherJoin 事件时设置。
* @param view 通过CreateRendererView创建的SurfaceView
* @param uid 远端用户ID
* @param renderMode 视频渲染模式
* @param mirrorMode 视频镜像模式
* @return 0为成功;其他失败
*/
public int setupRemoteVideo(View view,long uid,int renderMode, int mirrorMode)
}

注: 上述接口需要在主线程中使用。

示例代码

渲染本地视图

 
//作为显示视频容器
FrameLayout container = findViewById(R.id.local_video_view_container);

public void renderLocalVideo(){
//创建 RendererView。请在主线程调用该方法
SurfaceView localView = ChannelEngine.CreateRendererView(this);
//RENDER_MODE_HIDDEN=1;MIRROR_MODE_AUTO=0;
engine.setupLocalVideo(localView, RENDER_MODE_HIDDEN, MIRROR_MODE_AUTO);
container.addView(localView);
}

渲染远端用户视图


//作为显示视频容器
FrameLayout container = findViewById(R.id.remote_video_view_container);

//请在主线程调用该方法
//在onOtherJoin回调中调用该方法,onOtherJoin是异步线程
private void setupRemoteVideo(long uid){
//创建 RendererView。
SurfaceView remoteView = ChannelEngine.CreateRendererView(this);
surfaceView.setZOrderMediaOverlay(true)
//RENDER_MODE_HIDDEN=1;MIRROR_MODE_AUTO=0;
engine.setupRemoteVideo(remoteView,uid, RENDER_MODE_HIDDEN, MIRROR_MODE_AUTO);
container.addView(remoteView);
}
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题