cn.tee3.avd_SDK-Objectc  2.1.0
构造函数 | 类方法 | 属性 | 所有成员列表
AVDVideo类 参考

房间中视频模块接口. 更多...

类 AVDVideo 继承关系图:
AVDModule

构造函数

(AVDResult- previewLocalCamera:
 预览本地缺省摄像头视频 更多...
 
(AVDResult- unpreviewLocalCamera
 取消预览缺省摄像头视频 更多...
 
(AVDResult- publishLocalCamera
 发布缺省摄像头视频 更多...
 
(AVDResult- publishLocalCameraWithCamera:
 发布摄像头视频 更多...
 
(AVDResult- unpublishLocalCamera
 取消发布缺省摄像头视频 更多...
 
(AVDResult- unpublishLocalCamera:
 取消发布摄像头视频 更多...
 
(BOOL) - ispublishLocalCamera
 判断是否已经打开本地摄像头 更多...
 
(AVDResult- previewLocalCamera:render:
 预览本机前置或者后置摄像头视频 更多...
 
(AVDResult- previewLocalCamera:capturer:render:
 预览模拟摄像头视频 更多...
 
(AVDResult- unpreviewLocalCamera:
 取消预览摄像头视频 更多...
 
(AVDResult- publishLocalCamera:
 发布特定类型摄像头视频 更多...
 
(AVDResult- publishLocalCamera:capturer:
 发布模拟摄像头视频 更多...
 
(AVDResult- switchToLocalCamera
 切换特定类型摄像头视频源 更多...
 
(AVDResult- switchToLocalCameraWithType:
 切换到特定类型摄像头视频源,同上 更多...
 
(enum AVDCameraType- getCurrentCameraType
 获取当前使用的摄像头类型 更多...
 
(AVDResult- updateCameraData:level:description:
 摄像头数据更改 更多...
 
(AVDCamera *) - getCamera:
 获取指定类型的本机摄像头信息 更多...
 
(AVDCamera *) - getCameraWithId:
 获取指定设备Id的摄像头信息 更多...
 
(AVDResult- subscribe:
 subscribe and publish list 更多...
 
(AVDResult- subscribe:quality:
 
(AVDResult- unsubscribe:
 取消订阅摄像头视频 更多...
 
(BOOL) - isCameraPublished:
 判断摄像头是否已经发布到房间中 更多...
 
(BOOL) - isCameraSubscribed:
 判断摄像头是否已经被本用户订阅 更多...
 
(AVDResult- remotecmdPublishCamera:
 remote camera control 更多...
 
(AVDResult- remotecmdUnpublishCamera:
 命令远端用户取消发布摄像头视频 更多...
 
(AVDResult- attachRenderWithDeviceId:render:
 render video 更多...
 
(AVDResult- detachRenderWithDeviceId:
 解除摄像头视频数据的所有显示对象关联 更多...
 
(AVDResult- detachRenderWithRender:
 解除某一显示对象与摄像头视频数据的关联 更多...
 
(AVDCamera *) - getCameraByUserId:
 获取某一用户的缺省摄像头对象 更多...
 
(AVDResult- setMixerDateRender:
 设置获取视频数据回调接口,此数据仅回调一份数据:数据为主视频+各个Overlay的视频,视频大小为主视频大小;如使用ILivecast接口,不需要设置此接口。 更多...
 
(AVDResult- setMixerDateListener:
 同上: 更多...
 
(AVDResult- setMixerMainVideo:
 设置回调视频数据的视频主视频 更多...
 
(AVDResult- setMixerVideoSize:height:background:
 设置混频后视频数据的尺寸 更多...
 
(AVDResult- addMixerOverlayVideo:zorder:x:y:w:h:
 添加视频到主视频特定位置 更多...
 
(AVDResult- addMixerOverlayVideoPixel:zorder:x:y:w:h:
 添加视频到主视频特定位置 更多...
 
(AVDResult- updateMixerOverlayVideo:zorder:x:y:w:h:
 更新附加视频在主视频上显示的位置 更多...
 
(AVDResult- updateMixerOverlayVideoPixel:zorder:x:y:w:h:
 更新附加视频在主视频上显示的位置 更多...
 
(AVDResult- removeMixerOverlayVideo:
 移除主视频上的某一视频 更多...
 
(AVDResult- clearMixerVideos
 清理掉所有的混屏视频,包括主视频;如果需要再次开启合屏,需要重新设置主视频和Overlay视频。 更多...
 
(AVDDeviceId- getLocalDefaultCameraId
 
(AVDResult- setVideoBitrate:min:max:
 设置视频动态码率调整的范围,最小和最大比特率, 更多...
 
((unavailable("init is not a supported initializer for this class.") - __attribute__
 
- 构造函数 继承自 AVDModule
(BOOL) - isSelfUser:
 判断是否是自己的用户Id 更多...
 
(BOOL) - isSelfDevice:
 判断是否是自己的设备Id 更多...
 
(AVDUserId- getOwnerId:
 获取设备Id的关联用户Id 更多...
 
(NSString *) - getOwnerName:
 获取设备Id的关联用户名称 更多...
 

类方法

(AVDVideo *) + getVideo:
 获取视频功能模块对象 更多...
 
(AVDResult+ nv12ConvertPixelBuffer:toData:
 

属性

id< AVDVideoDelegatedelegate
 视频模块回调接口代理 更多...
 
NSMutableArray * publishedCameras
 已共享摄像头信息列表 更多...
 
NSMutableArray * subscribedCameras
 已订阅摄像头信息列表 更多...
 
- 属性 继承自 AVDModule
AVDRoomroom
 房间对象指针 更多...
 
AVDUserManagerusermanager
 用户管理模块指针 更多...
 
enum AVDModuleType type
 模块类型 更多...
 

详细描述

房间中视频模块接口.

房间视频模块定义房间中视频发布、订阅功能接口。

函数文档

◆ __attribute__()

- (( unavailable("init is not a supported initializer for this class.") __attribute__

◆ addMixerOverlayVideo:zorder:x:y:w:h:()

- (AVDResult) addMixerOverlayVideo: (AVDDeviceId deviceId
zorder: (NSUInteger)  zorder
x: (CGFloat)  x
y: (CGFloat)  y
w: (CGFloat)  w
h: (CGFloat)  h 

添加视频到主视频特定位置

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
[in]zorder多个视频覆盖时,前后位置,zorder越小,视频越在前面,后面会被覆盖;取值0-n
[in]x此视频在主视频的左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width (主视频)x X
[in]y此视频在主视频的左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height(主视频)x Y
[in]w此视频在主视频的宽度比例,取值0.0~1.0,内部取值为:width (主视频)x W
[in]h此视频在主视频的高度比例,取值0.0~1.0,内部取值为:height(主视频)x H
返回
返回错误代码。
参见
addMixerOverlayVideo

◆ addMixerOverlayVideoPixel:zorder:x:y:w:h:()

- (AVDResult) addMixerOverlayVideoPixel: (AVDDeviceId deviceId
zorder: (NSUInteger)  zorder
x: (NSUInteger)  x
y: (NSUInteger)  y
w: (NSUInteger)  w
h: (NSUInteger)  h 

添加视频到主视频特定位置

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
[in]zorder多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10
[in]x此视频在左上角左边位置,即x坐标,
[in]y此视频在左上角上边位置,即y坐标,
[in]w此视频宽度
[in]h此视频高度
返回
返回错误代码。
参见
addMixerOverlayVideo

◆ attachRenderWithDeviceId:render:()

- (AVDResult) attachRenderWithDeviceId: (AVDDeviceId deviceId
render: (id< AVDVideoRenderer >)  render 

render video

关联视频数据和显示对象,在render中显示视频

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
[in]render显示对象接口指针。
注解
视频数据可以在多个显示对象上显示,而一个显示对象某一时刻只能显示一路视频。 在本地视频发布到房间中,或者远端视频订阅成功后,调用此接口完成视频与显示对象的对接,从而在显示对象中显示视频。
返回
返回错误代码。
参见
IVideoRender

◆ clearMixerVideos()

- (AVDResult) clearMixerVideos

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

返回
返回错误代码。

◆ detachRenderWithDeviceId:()

- (AVDResult) detachRenderWithDeviceId: (AVDDeviceId deviceId

解除摄像头视频数据的所有显示对象关联

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
返回
返回错误代码。
参见
IVideoRender

◆ detachRenderWithRender:()

- (AVDResult) detachRenderWithRender: (id< AVDVideoRenderer >)  render

解除某一显示对象与摄像头视频数据的关联

参数
[in]render显示对象接口指针。
参见
IVideoRender

◆ getCamera:()

- (AVDCamera*) getCamera: (enum AVDCameraType type

获取指定类型的本机摄像头信息

参数
[in]type摄像头类型。
返回
返回摄像头设备信息。
参见
CameraType

◆ getCameraByUserId:()

- (AVDCamera *) getCameraByUserId: (AVDUserId userId

获取某一用户的缺省摄像头对象

参数
[in]userId用户号。

◆ getCameraWithId:()

- (AVDCamera*) getCameraWithId: (AVDDeviceId deviceId

获取指定设备Id的摄像头信息

参数
[in]deviceId设备Id。
返回
返回摄像头信息。
注解
可以返回本地用户和远端用户的摄像头信息。

◆ getCurrentCameraType()

- (enum AVDCameraType) getCurrentCameraType

获取当前使用的摄像头类型

注解
在前后置摄像头操作模式下有效。
返回
返回摄像头类型。

◆ getLocalDefaultCameraId()

- (AVDDeviceId) getLocalDefaultCameraId

◆ getVideo:()

+ (AVDVideo*) getVideo: (AVDRoom *)  room

获取视频功能模块对象

参数
[in]*room房间对象指针
返回
返回视频模块对象。

◆ isCameraPublished:()

- (BOOL) isCameraPublished: (AVDDeviceId fromId

判断摄像头是否已经发布到房间中

◆ isCameraSubscribed:()

- (BOOL) isCameraSubscribed: (AVDDeviceId fromId

判断摄像头是否已经被本用户订阅

◆ ispublishLocalCamera()

- (BOOL) ispublishLocalCamera

判断是否已经打开本地摄像头

◆ nv12ConvertPixelBuffer:toData:()

+ (AVDResult) nv12ConvertPixelBuffer: (CVPixelBufferRef)  pixelBuffer
toData: (NSMutableData *)  data 

◆ previewLocalCamera:()

- (AVDResult) previewLocalCamera: (id< AVDVideoRenderer >)  render

预览本地缺省摄像头视频

参数
[in]render显示对象接口指针
注解
本地视频在发布到会议前,可以调用此接口进行视频预览;视频发布到会议中后,需要使用attachRender接口来进行视频显示,此时此接口无效。
返回
返回错误代码。
参见
IVideoRender

◆ previewLocalCamera:capturer:render:()

- (AVDResult) previewLocalCamera: (AVDCamera *)  fakeDevice
capturer: (AVDFakeVideoCapturer *)  capturer
render: (id< AVDVideoRenderer >)  render 

预览模拟摄像头视频

参数
[in,out]fakeDevice模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的deviceId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。
[in]*capturer模拟摄像头视频输入接口。
[in]*render显示对象接口指针
返回
返回错误代码。 模拟摄像头用于在房间中导入特定已经存在的视频数据流,比如视频文件、录播系统视频流等。
参见
FakeVideoCapturer
注解
render 允许被设置为NULL。 fakeDevice.id 会按照3tee设备id规则重新构造成。 注意:此函数必须用 unpreviewLocalCamera(String deviceId)来取消发布,不能用无参数函数;

◆ previewLocalCamera:render:()

- (AVDResult) previewLocalCamera: (enum AVDCameraType type
render: (id< AVDVideoRenderer >)  render 

预览本机前置或者后置摄像头视频

参数
[in]type摄像头类型。
[in]render显示对象接口指针
注解
在前后置摄像头操作模式下有效;摄像头模式设置在AVDEngine的SetOption接口中实现;取消预览接口为unpreviewLocalCamera,无需参数。
返回
返回错误代码;若不支持此操作返回 Err_Not_Available。
参见
IVideoRender
CameraType

◆ publishLocalCamera()

- (AVDResult) publishLocalCamera

发布缺省摄像头视频

返回
返回错误代码。
注解
发布操作为异步操作,操作结果在 onPublishLocalResult 中返回。
参见
onPublishLocalResult

◆ publishLocalCamera:()

- (AVDResult) publishLocalCamera: (enum AVDCameraType type

发布特定类型摄像头视频

参数
[in]type摄像头类型。
返回
返回错误代码;若不支持此操作返回 Err_Not_Available。
注解
发布操作为异步操作,操作结果在 onPublishLocalResult 中返回。在前后置摄像头操作模式下有效;取消预览接口为unpublishLocalCamera,无需参数。
参见
onPublishLocalResult

◆ publishLocalCamera:capturer:()

- (AVDResult) publishLocalCamera: (AVDCamera *)  fakeDevice
capturer: (AVDFakeVideoCapturer *)  capturer 

发布模拟摄像头视频

参数
[in,out]fakeDevice模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的deviceId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。
[in]capturer模拟摄像头视频输入接口。
返回
返回错误代码。
注解
发布操作为异步操作,操作结果在 onPublishLocalResult 中返回。 模拟摄像头用于在房间中导入特定已经存在的视频数据流,比如视频文件、录播系统视频流等。 注意:此函数必须用 unpreviewLocalCamera(String deviceId)来取消发布,不能用无参数函数;
参见
onPublishLocalResult
FakeVideoCapturer

◆ publishLocalCameraWithCamera:()

- (AVDResult) publishLocalCameraWithCamera: (AVDCamera *)  camera

发布摄像头视频

参数
[in]camera摄像头信息。
返回
返回错误代码。
注解
发布操作为异步操作,操作结果在 onPublishLocalResult 中返回。
参见
onPublishLocalResult

◆ remotecmdPublishCamera:()

- (AVDResult) remotecmdPublishCamera: (AVDCamera *)  device

remote camera control

命令远端用户发布某一摄像头视频

参数
[in]*device摄像头信息。
返回
返回错误代码。

◆ remotecmdUnpublishCamera:()

- (AVDResult) remotecmdUnpublishCamera: (AVDDeviceId deviceId

命令远端用户取消发布摄像头视频

参数
[in]deviceId摄像头Id。
返回
返回错误代码。

◆ removeMixerOverlayVideo:()

- (AVDResult) removeMixerOverlayVideo: (AVDDeviceId deviceId

移除主视频上的某一视频

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
返回
返回错误代码。

◆ setMixerDateListener:()

- (AVDResult) setMixerDateListener: (id< AVDVideoRendererCallBacks >)  cb

同上:

参数
[in]cb回调数据接口指针。

◆ setMixerDateRender:()

- (AVDResult) setMixerDateRender: (id< AVDVideoRenderer >)  render

设置获取视频数据回调接口,此数据仅回调一份数据:数据为主视频+各个Overlay的视频,视频大小为主视频大小;如使用ILivecast接口,不需要设置此接口。

参数
[in]render显示对象接口指针。
返回
返回错误代码。
参见
IVideoRender
注解
显示且回调数据时调用setVideoMixerListener,设置render为AVDVideoView,同时对AVDVideoView的callbacks代理设置回调接口; 只需要回调数据时调用setVideoMixerListener2; 两个函数只能调用一个

◆ setMixerMainVideo:()

- (AVDResult) setMixerMainVideo: (AVDDeviceId deviceId

设置回调视频数据的视频主视频

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
返回
返回错误代码。
注解
设置混屏的主视频等效于,setMixerVideoSize为主视频大小,同时addMixerOverlayVideo将主视频加入到混屏中,且充满全屏。

◆ setMixerVideoSize:height:background:()

- (AVDResult) setMixerVideoSize: (NSUInteger)  width
height: (NSUInteger)  height
background: (NSString *)  background 

设置混频后视频数据的尺寸

参数
[in]width视频图像宽。
[in]height视频图像高。
[in]background背景图。
返回
返回错误代码。
参见
addMixerOverlayVideo

◆ setVideoBitrate:min:max:()

- (AVDResult) setVideoBitrate: (AVDDeviceId deviceId
min: (NSInteger)  minBitrateBps
max: (NSInteger)  maxBitrateBps 

设置视频动态码率调整的范围,最小和最大比特率,

参数
[in]deviceId视频设备对应ID。
[in]minBitrateBps最小比特率,单位bps。
[in]maxBitrateBps最大比特率,单位bps。
返回
返回错误代码。
注解
例如30k/s = 30*8*1000 bps(bits/s)。当min和max相等时,码率固定,将不会动态调整。

◆ subscribe:()

- (AVDResult) subscribe: (AVDDeviceId deviceId

subscribe and publish list

订阅摄像头视频

参数
[in]deviceId摄像头Id,唯一标示一路摄像头视频。
返回
返回错误代码。
注解
订阅操作为异步操作,操作结果在 onSubscribeResult 中返回。
参见
onSubscribeResult

◆ subscribe:quality:()

- (AVDResult) subscribe: (AVDDeviceId deviceId
quality: (enum AVDStreamType stream 

◆ switchToLocalCamera()

- (AVDResult) switchToLocalCamera

切换特定类型摄像头视频源

注解
在前后置摄像头操作模式下有效。
返回
返回错误代码;若不支持此操作返回 Err_Not_Available。

◆ switchToLocalCameraWithType:()

- (AVDResult) switchToLocalCameraWithType: (enum AVDCameraType toType

切换到特定类型摄像头视频源,同上

参数
[in]toType摄像头类型。

◆ unpreviewLocalCamera()

- (AVDResult) unpreviewLocalCamera

取消预览缺省摄像头视频

返回
返回错误代码。

◆ unpreviewLocalCamera:()

- (AVDResult) unpreviewLocalCamera: (AVDDeviceId deviceId

取消预览摄像头视频

参数
[in]deviceId摄像头Id。
返回
返回错误代码。

◆ unpublishLocalCamera()

- (AVDResult) unpublishLocalCamera

取消发布缺省摄像头视频

返回
返回错误代码。
注解
取消发布操作为异步操作,操作结果在 onUnpublishLocalResult 中返回。
参见
onUnpublishLocalResult

◆ unpublishLocalCamera:()

- (AVDResult) unpublishLocalCamera: (AVDDeviceId deviceId

取消发布摄像头视频

参数
[in]deviceId摄像头Id,唯一标示一路摄像头视频。
返回
返回错误代码。
注解
取消发布操作为异步操作,操作结果在 onUnpublishLocalResult 中返回。
参见
onUnpublishLocalResult

◆ unsubscribe:()

- (AVDResult) unsubscribe: (AVDDeviceId deviceId

取消订阅摄像头视频

参数
[in]deviceId摄像头Id,唯一标示一路摄像头视频。
返回
返回错误代码。
注解
取消订阅操作为异步操作,操作结果在 onUnsubscribeResult 中返回。
参见
onUnsubscribeResult

◆ updateCameraData:level:description:()

- (AVDResult) updateCameraData: (AVDDeviceId deviceId
level: (NSInteger)  level
description: (NSString *)  description 

摄像头数据更改

参数
[in]deviceId摄像头Id,唯一标示一个摄像头。
[in]level摄像头整形数据。
[in]description摄像头字符串数据。
参见
onCameraDataNotify

◆ updateMixerOverlayVideo:zorder:x:y:w:h:()

- (AVDResult) updateMixerOverlayVideo: (AVDDeviceId deviceId
zorder: (NSUInteger)  zorder
x: (CGFloat)  x
y: (CGFloat)  y
w: (CGFloat)  w
h: (CGFloat)  h 

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

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
[in]zorder多个视频覆盖时,前后位置,zorder越小,视频越在前面,后面会被覆盖;取值0-n
[in]x此视频在主视频的左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width (主视频)x X
[in]y此视频在主视频的左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height(主视频)x Y
[in]w此视频在主视频的宽度比例,取值0.0~1.0,内部取值为:width (主视频)x W
[in]h此视频在主视频的高度比例,取值0.0~1.0,内部取值为:height(主视频)x H
返回
返回错误代码。

◆ updateMixerOverlayVideoPixel:zorder:x:y:w:h:()

- (AVDResult) updateMixerOverlayVideoPixel: (AVDDeviceId deviceId
zorder: (NSUInteger)  zorder
x: (NSUInteger)  x
y: (NSUInteger)  y
w: (NSUInteger)  w
h: (NSUInteger)  h 

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

参数
[in]deviceId摄像头Id,唯一标示一路共享的摄像头视频。
[in]zorder多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10
[in]x此视频在左上角左边位置,即x坐标,
[in]y此视频在左上角上边位置,即y坐标,
[in]w此视频宽度
[in]h此视频高度
返回
返回错误代码。

属性说明

◆ delegate

- (id<AVDVideoDelegate>) delegate
readwritenonatomicweak

视频模块回调接口代理

◆ publishedCameras

- (NSMutableArray*) publishedCameras
readnonatomicretain

已共享摄像头信息列表

注解
摄像头列表包含本地发布的摄像头和房间中其他用户的所有正在发布的摄像头,摄像头视频要在界面上显示,远端摄像头需要首先做subcribe; 而本地摄像头显示时不需要subscribe,应用层开发时需要注意。publishedCameras中保存的是AVDCamera对象。

◆ subscribedCameras

- (NSMutableArray*) subscribedCameras
readnonatomicretain

已订阅摄像头信息列表

注解
subscribedCameras中保存的是AVDCamera对象。

该类的文档由以下文件生成: