AVDVideoMixer Class Reference

Inherits from NSObject
Declared in AVDVideoMixer.h
AVDVideoMixer.mm

Overview

  • 视频混屏模块接口.

*

  • 视频混屏模块定义房间中视频混屏、布局、订阅功能接口。

  mixerSize

< 各子视频在混屏视频中的布局类型

@property (nonatomic, assign) CGSize mixerSize

Discussion

< 各子视频在混屏视频中的布局类型

Declared In

AVDVideoMixer.h

  scaling

< 合屏视频图像宽,高

@property (nonatomic, assign) enum AVDScalingType scaling

Discussion

< 合屏视频图像宽,高

Declared In

AVDVideoMixer.h

– setMainVideo:

切换混屏视频的主视频(若主视频掉线,本地主播视频切为主视频)

- (AVDResult)setMainVideo:(AVDUserId)userId

Discussion

切换混屏视频的主视频(若主视频掉线,本地主播视频切为主视频)

*

  • @param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。

  • @return 返回错误代码。

  • @note 混屏视频的主视频在vl_auto_overlay模式下可以做切换,缺省为主播视频

Declared In

AVDVideoMixer.h

– autoLayoutParams:w:h:x_begin:y_begin:

混屏视频自动布局的布局参数设置

- (AVDResult)autoLayoutParams:(BOOL)isTopdown w:(CGFloat)w h:(CGFloat)h x_begin:(CGFloat)x_begin y_begin:(CGFloat)y_begin

Discussion

混屏视频自动布局的布局参数设置

*

  • @param[in] isTopdown 各子视频在混屏视频上的排列顺序,true: 从上往下(左到右)排列; false: 从下往上(左到右)排列

  • @param[in] w 各子视频相对混屏视频的宽度比例,取值0.0~1.0,内部取值为:width (混屏视频)x W

  • @param[in] h 各子视频相对混屏视频的高度比例,取值0.0~1.0,内部取值为:height(混屏视频)x H

  • @param[in] x_begin 初始子视频在混屏视频的左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width (混屏视频)x x_begin

  • @param[in] y_begin 初始子视频在混屏视频的左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height(混屏视频)x y_begin

  • @return 返回错误代码。

  • @note 缺省设置为:vl_auto_overlay布局类型,从下往上排列; w=h=0.3f; x_begin=0.7f; y_begin=0.7f;

Declared In

AVDVideoMixer.h

– addSubVideo:

添加视频到混屏视频特定位置

- (AVDResult)addSubVideo:(AVDUserId)userId

Discussion

添加视频到混屏视频特定位置

*

  • @param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。

  • @param[in] zorder 多个视频覆盖时,前后位置,zorder越小,视频越在前面,后面会被覆盖;取值0-n

  • @param[in] x 此视频在混屏视频的左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width (混屏视频)x X

  • @param[in] y 此视频在混屏视频的左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height(混屏视频)x Y

  • @param[in] w 此视频在混屏视频的宽度比例,取值0.0~1.0,内部取值为:width (混屏视频)x W

  • @param[in] h 此视频在混屏视频的高度比例,取值0.0~1.0,内部取值为:height(混屏视频)x H

  • @return 返回错误代码。

  • @sa addMixerOverlayVideo

Declared In

AVDVideoMixer.h

– updateSubVideo:zorder:x:y:w:h:

更新附加视频在混屏视频上显示的位置

- (AVDResult)updateSubVideo:(AVDUserId)userId zorder:(NSUInteger)zorder x:(CGFloat)x y:(CGFloat)y w:(CGFloat)w h:(CGFloat)h

Discussion

更新附加视频在混屏视频上显示的位置

*

  • @param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。

  • @param[in] zorder 多个视频覆盖时,前后位置,zorder越小,视频越在前面,后面会被覆盖;取值0-n

  • @param[in] x 此视频在混屏视频的左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width (混屏视频)x X

  • @param[in] y 此视频在混屏视频的左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height(混屏视频)x Y

  • @param[in] w 此视频在混屏视频的宽度比例,取值0.0~1.0,内部取值为:width (混屏视频)x W

  • @param[in] h 此视频在混屏视频的高度比例,取值0.0~1.0,内部取值为:height(混屏视频)x H

  • @return 返回错误代码。

Declared In

AVDVideoMixer.h

– removeSubVideo:

移除混屏视频上的某一视频

- (void)removeSubVideo:(AVDUserId)userId

Discussion

移除混屏视频上的某一视频

*

  • @param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。

  • @return 返回错误代码。

Declared In

AVDVideoMixer.h

– clearSubVideos

清理掉所有的混屏视频,包括主视频;如果需要再次开启合屏,需要重新设置混屏视频和Overlay视频。

- (void)clearSubVideos

Discussion

清理掉所有的混屏视频,包括主视频;如果需要再次开启合屏,需要重新设置混屏视频和Overlay视频。

*

  • @return 返回错误代码。

Declared In

AVDVideoMixer.h