AVDScreen Class Reference
Inherits from | AVDModule : NSObject |
---|---|
Declared in | AVDScreen.h AVDScreen.mm |
Other Methods
publishedScreens
< 屏幕窗口共享模块回调接口代理
@property (nonatomic, retain, readonly) NSMutableArray *publishedScreens
Discussion
< 屏幕窗口共享模块回调接口代理
Declared In
AVDScreen.h
subscribedScreens
< 已共享屏幕窗口信息列表,数组中存放AVDVideoDevice对象
@property (nonatomic, retain, readonly) NSMutableArray *subscribedScreens
Discussion
< 已共享屏幕窗口信息列表,数组中存放AVDVideoDevice对象
Declared In
AVDScreen.h
+ getScreen:
获取屏幕共享功能模块对象
+ (AVDScreen *)getScreen:(AVDRoom *)room
Return Value
返回屏幕共享模块对象。
Discussion
获取屏幕共享功能模块对象
@param[in] *room 房间对象指针
Declared In
AVDScreen.h
– subscribe:
订阅共屏屏幕窗口视频
- (AVDResult)subscribe:(AVDDeviceId)deviceId
Return Value
返回错误代码。
Discussion
订阅共屏屏幕窗口视频
@param[in] deviceId 屏幕窗口Id,唯一标示一路共享的屏幕窗口视频。
Note: 订阅操作为异步操作,操作结果在 onSubscribeResult 中返回。
Declared In
AVDScreen.h
– unsubscribe:
取消订阅共屏屏幕窗口视频
- (AVDResult)unsubscribe:(AVDDeviceId)deviceId
Return Value
返回错误代码。
Discussion
取消订阅共屏屏幕窗口视频
@param[in] deviceId 屏幕窗口Id,唯一标示一路共享的屏幕窗口视频。
Note: 取消订阅操作为异步操作,操作结果在 onUnsubscribeResult 中返回。
Declared In
AVDScreen.h
– isScreenSubscribed:
判断屏幕窗口是否已经被本用户订阅
- (BOOL)isScreenSubscribed:(AVDDeviceId)deviceId
Discussion
判断屏幕窗口是否已经被本用户订阅
Declared In
AVDScreen.h
– attachRenderWithDeviceId:render:
关联共享的屏幕窗口视频数据和显示对象,在render中显示视频
- (AVDResult)attachRenderWithDeviceId:(AVDDeviceId)deviceId render:(id<AVDVideoRenderer>)render
Return Value
返回错误代码。
Discussion
关联共享的屏幕窗口视频数据和显示对象,在render中显示视频
@param[in] deviceId 屏幕窗口Id,唯一标示一路共享的屏幕窗口视频。 @param[in] render 显示对象接口指针。
Note: 视频数据可以在多个显示对象上显示,而一个显示对象某一时刻只能显示一路视频。 在屏幕窗口视频发布到房间中,或者远端屏幕窗口视频订阅成功后,调用此接口完成视频与显示对象的对接,从而在显示对象中显示视频。
Declared In
AVDScreen.h
– detachRenderWithDeviceId:
解除屏幕窗口视频的所有显示对象关联
- (AVDResult)detachRenderWithDeviceId:(AVDDeviceId)deviceId
Return Value
返回错误代码。
Discussion
解除屏幕窗口视频的所有显示对象关联
@param[in] deviceId 屏幕窗口Id,唯一标示一路共享的屏幕窗口视频。
Declared In
AVDScreen.h
– detachRenderWithRender:
解除某一显示对象与屏幕窗口视频的关联
- (AVDResult)detachRenderWithRender:(id<AVDVideoRenderer>)render
Discussion
解除某一显示对象与屏幕窗口视频的关联
@param[in] render 显示对象接口指针。
Declared In
AVDScreen.h
– publishScreen
发布iOS全屏幕共享流(ps:当前应用内) return 错误代码
- (AVDResult)publishScreen
Discussion
发布iOS全屏幕共享流(ps:当前应用内) return 错误代码
Declared In
AVDScreen.h
– publishScreen:fps:
发布指定分辨率屏幕共享(ps:当前应用内)
- (AVDResult)publishScreen:(ScreenResolutionType)type fps:(int)fps
Parameters
type |
分辨率e类型 |
---|---|
fps |
fps |
Return Value
错误代码
Discussion
发布指定分辨率屏幕共享(ps:当前应用内)
Declared In
AVDScreen.h
– publishScreen:catY:catW:catH:
发布屏幕共享可以指定坐标(ps:当前应用内)
- (AVDResult)publishScreen:(NSInteger)catX catY:(NSInteger)catY catW:(NSInteger)catW catH:(NSInteger)catH
Parameters
catX |
x |
---|---|
catY |
y |
catW |
w |
catH |
h |
Return Value
错误代码
Discussion
发布屏幕共享可以指定坐标(ps:当前应用内)
Declared In
AVDScreen.h
– publishScreenLandscape:catY:catW:catH:
发布横屏屏幕可以指定坐标(ps:当前应用内)
- (AVDResult)publishScreenLandscape:(NSInteger)catX catY:(NSInteger)catY catW:(NSInteger)catW catH:(NSInteger)catH
Parameters
catX |
x |
---|---|
catY |
y |
catW |
w |
catH |
h |
Return Value
错误代码
Discussion
发布横屏屏幕可以指定坐标(ps:当前应用内)
Declared In
AVDScreen.h
– publishScreen:resolution:fps:
发布屏幕共享可以指定坐标(ps:当前应用内)
- (AVDResult)publishScreen:(NSInteger)catY resolution:(ScreenResolutionType)type fps:(int)fps
Parameters
catY |
y |
---|---|
type |
分辨率类型 |
fps |
fps |
Return Value
错误代码
Discussion
发布屏幕共享可以指定坐标(ps:当前应用内)
Declared In
AVDScreen.h
– publishSystemScreen:fps:
发布iOS全屏幕共享流(ps:系统级别可以录制其他app以及桌面 ios12及以上可用)
- (AVDResult)publishSystemScreen:(ScreenResolutionType)type fps:(int)fps
Return Value
错误代码
Discussion
发布iOS全屏幕共享流(ps:系统级别可以录制其他app以及桌面 ios12及以上可用)
Declared In
AVDScreen.h
– unpublishScreen
取消发布 return 错误代码
- (AVDResult)unpublishScreen
Discussion
取消发布 return 错误代码
Declared In
AVDScreen.h
– updateScreenData:level:description:
更新桌面共享信息
- (AVDResult)updateScreenData:(AVDDeviceId)deviceId level:(NSInteger)level description:(NSString *)description
Parameters
deviceId |
设备id |
---|---|
level |
0 |
description |
描述信息{“video_name”:“客服”} |
Return Value
错误代码
Discussion
更新桌面共享信息
Declared In
AVDScreen.h
– proceedRecord
继续屏幕采集
- (BOOL)proceedRecord
Return Value
bool
Discussion
继续屏幕采集
Declared In
AVDScreen.h
– setScreenBitrate:min:max:
设置视频动态码率调整的范围,最小和最大比特率,
- (AVDResult)setScreenBitrate:(AVDDeviceId)deviceId min:(NSInteger)minBitrateBps max:(NSInteger)maxBitrateBps
Return Value
返回错误代码。
Discussion
设置视频动态码率调整的范围,最小和最大比特率,
@param[in] deviceId 设备对应ID。 @param[in] minBitrateBps 最小比特率,单位bps @param[in] maxBitrateBps 最大比特率,单位bps
Note: 例如30k/s = 3081000 bps(bits/s)。当min和max相等时,码率固定,将不会动态调整。 需要在桌面共享publish成功后才能做设置。 参考码流: 3840x2160 [80001000, 160001000] 1920x1080 [20001000, 40001000] 1280x720 [10001000, 20001000] 640x480 [5001000, 10001000] 320x240 [2501000, 5001000]
Declared In
AVDScreen.h
– setPublishScreenKeepAliveTime:
设置当前屏幕共享流推送的保活时长
- (void)setPublishScreenKeepAliveTime:(NSInteger)time
Parameters
time |
保活时长(单位为毫秒) |
---|
Discussion
设置当前屏幕共享流推送的保活时长
Declared In
AVDScreen.h
Other Methods
– getPublishedScreens
获取已共享屏幕窗口信息
- (NSMutableArray *)getPublishedScreens
Return Value
返回错误代码。
Discussion
获取已共享屏幕窗口信息
@param[in,out] items 屏幕窗口集合存放列表。
Declared In
AVDScreen.mm
– getSubscribedScreens
获取已订阅屏幕窗口信息
- (NSMutableArray *)getSubscribedScreens
Return Value
返回错误代码。
Discussion
获取已订阅屏幕窗口信息
@param[in,out] items 屏幕窗口集合存放列表。
Declared In
AVDScreen.mm