# 视频管理
# 启用视频模块
void enableVideo();
该方法用于打开视频模式。可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启视频模式,在通话中调用则由音频模式切换为视频模式。调用disableVideo 方法可关闭视频模式。
成功调用该方法后,远端会触发 onUserEnableVideo(true) 回调。
注解
- 该方法设置的是内部引擎为开启状态,在频道内和频道外均可调用,且在 leaveChannel 后仍然有效。
# 关闭视频模块
void disableVideo();
关闭视频模块。
该方法用于关闭视频。可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频频模式。调用 enableVideo 方法可开启视频模式。
成功调用该方法后,远端会触发 onUserEnableVideo(false) 回调。
注解
- 该方法设置的是内部引擎为禁用状态,在频道内和频道外均可调用,且在 leaveChannel 后仍然有效。
# 初始化本地视图
void setupLocalVideo(VideoCanvas local);
初始化本地视图。
该方法初始化本地视图并设置本地用户视频显示信息,只影响本地用户看到的视频画面,不影响本地发布视频。 调用该方法绑定本地视频流的显示视窗(View),并设置本地用户视图的渲染模式和镜像模式。
注解
- 请在主线程调用该方法。
- 如果你希望在通话中更新本地用户视图的渲染或镜像模式,请使用 setLocalRenderMode 方法。
VideoCanvas参数
参数 | 描述 |
---|---|
view | 本地视频View,通过CreateRendererView创建生成 |
# 初始化远端用户视图
void setupRemoteVideo(VideoCanvas remote);
初始化远端用户视图。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
注解
- 请在主线程调用该方法。 如果你希望在通话中更新远端用户的渲染或镜像模式,请使用 setRemoteRenderMode 方法。
VideoCanvas参数
参数 | 描述 |
---|---|
view | 远端视频View,通过CreateRendererView创建生成 |
code | 视频编码 |
remoteStream | 远端视频流 |
# 创建RendererView
SurfaceView CreateRendererView(Context context);
创建 RendererView。
该方法创建视频 RendererView,返回 SurfaceView 的类型。View 的操作和布局由 app 管理, Agora SDK 在 app 提供的 View 上进行渲染。显示视频视图必须调用该方法,而不是直接调用 SurfaceView。
如果你需要使用 SurfaceView,请调用本方法;如果你需要使用 TextureView,请调用 CreateTextureView 方法
注解
- 请在主线程调用该方法。
参数
参数 | 描述 |
---|---|
context | 安卓活动 (Android Activity) 的上下文。 |
# 创建 TextureView
TextureView CreateTextureView(Context context);
创建 TextureView。
该方法创建 TextureView,适用于需要对视频画面进行缩放、旋转和平移的场景,如屏幕共享。View 的操作和布局由 app 管理,SDK 仅在 app 提供的 View 上进行渲染。
如果你需要使用 TextureView,请调用本方法。如果你需要使用 SurfaceView,请调用 CreateRendererView 方法。
参数
参数 | 描述 |
---|---|
context | 安卓活动 (Android Activity) 的上下文。 |
# 开启视频预览
void startPreview();
开启本地视频预览。
注解
- 本地预览默认开启镜像功能。
# 停止视频预览
void stopPreview();
该方法用于停止视频预览。
# 开启/关闭本地视频采集
void enableLocalVideo(boolean enabled);
开启/关闭本地视频采集。
该方法禁用或重新启用本地视频采集。不影响接收远端视频。
调用 enableVideo 后,本地视频即默认开启。 你可以调用 enableLocalVideo(false) 关闭本地视频采集。关闭后如果想重新开启,则可调用 enableLocalVideo(true)。
参数
参数 | 描述 |
---|---|
enabled | 是否启用本地视频:true : 开启本地视频采集和渲染(默认)false : 关闭使用本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。 |
# 停止接收指定视频流
void muteRemoteVideoStream(String uid )
停止接收指定视频流。
参数
参数 | 描述 |
---|---|
uid | 指定的用户 ID。 |
# 停止/恢复接收所有视频流
void muteAllRemoteVideoStreams(boolean muted);
停止/恢复接收所有视频流
参数
参数 | 描述 |
---|---|
muted | 是否停止接收所有远端视频流:true: 停止接收所有远端视频流。false: (默认)继续接收所有远端视频流。 |
# 切换前置/后置摄像头
int switchCamera(boolean muted);
切换前置/后置摄像头。
返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
# 开/关视频双流模式
int enableDualStreamMode(boolean enabled);
开/关视频双流模式。
该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
参数
参数 | 描述 |
---|---|
enabled | 指定双流或者单流模式:true : 双流。false : (默认)单流。 |
# 免提/听筒模式切换
int setSpeakerphoneOn(boolean enabled);
免提/听筒模式切换。
该方法设置免提/听筒模式切换,在加入频道前后都可设置。
参数
参数 | 描述 |
---|---|
enabled | 指定免提或听筒模式:true : 免提模式。false : 听筒模式。 |