视频流管理器
更多...
#include <PanoRtcStream.h>
|
virtual QResult | setCallback (Callback *cb)=0 |
| 设置视频流管理器的回调。 更多...
|
|
virtual QResult | createVideoStream (const char deviceId[kMaxDeviceIDLength], int &streamId)=0 |
| 创建一个新的视频流。 更多...
|
|
virtual QResult | destroyVideoStream (int streamId)=0 |
| 销毁一个视频流。 更多...
|
|
virtual QResult | setCaptureDevice (int streamId, const char deviceId[kMaxDeviceIDLength])=0 |
| 设置或更新视频流的采集设备。 更多...
|
|
virtual QResult | getCaptureDevice (int streamId, char deviceId[kMaxDeviceIDLength])=0 |
| 获取当前使用的视频采集设备 更多...
|
|
virtual QResult | startVideo (int streamId, void *window, const VideoConfig &config)=0 |
| 开启视频流,并且设置渲染窗口 更多...
|
|
virtual QResult | startVideo (int streamId, RtcRenderSink *sink, VideoProfileType profileType)=0 |
| 开启视频流,并且设置数据接收槽 更多...
|
|
virtual QResult | startVideo (int streamId, RtcRenderSink *sink, const VideoSourceConfig &config)=0 |
| 开启视频流,并且设置数据接收槽 更多...
|
|
virtual QResult | stopVideo (int streamId)=0 |
| 关闭视频流 更多...
|
|
virtual QResult | muteVideo (int streamId)=0 |
| 暂停视频流。 更多...
|
|
virtual QResult | unmuteVideo (int streamId)=0 |
| 恢复视频。 更多...
|
|
virtual QResult | setVideoFilter (int streamId, RtcExternalVideoFilter *filter, bool autoRelease=false)=0 |
| 设置视频流过滤器。 更多...
|
|
virtual QResult | subscribeVideo (uint64_t userId, int streamId, void *window, const VideoConfig &config)=0 |
| 订阅用户的视频流, 并设置渲染窗口。 更多...
|
|
virtual QResult | subscribeVideo (uint64_t userId, int streamId, RtcRenderSink *sink, VideoProfileType profileType)=0 |
| 订阅用户的视频流, 并设置视频数据接收槽。 更多...
|
|
virtual QResult | unsubscribeVideo (uint64_t userId, int streamId)=0 |
| 取消订阅用户的视频。 更多...
|
|
virtual QResult | snapshotVideo (uint64_t userId, int streamId, const char *outputDir, SnapshotVideoOption option)=0 |
| 捕获指定用户的视频流画面 更多...
|
|
视频流管理器
- 注解
- 如果应用各端都不会同时发送多路视频流,则无需使用视频流管理器。
◆ createVideoStream()
virtual QResult VideoStreamManager::createVideoStream |
( |
const char |
deviceId[kMaxDeviceIDLength], |
|
|
int & |
streamId |
|
) |
| |
|
pure virtual |
创建一个新的视频流。
- 参数
-
deviceId | 设备 ID, 此设备会设置给新视频流。 |
streamId | 视频流 ID,创建成功后此参数返回新视频流 ID。 |
- 返回
-
◆ destroyVideoStream()
virtual QResult VideoStreamManager::destroyVideoStream |
( |
int |
streamId | ) |
|
|
pure virtual |
◆ getCaptureDevice()
virtual QResult VideoStreamManager::getCaptureDevice |
( |
int |
streamId, |
|
|
char |
deviceId[kMaxDeviceIDLength] |
|
) |
| |
|
pure virtual |
获取当前使用的视频采集设备
- 参数
-
streamId | 视频流 ID。 |
deviceId | 视频设备ID |
- 返回
- 返回QResult来指示调用状态
◆ muteVideo()
virtual QResult VideoStreamManager::muteVideo |
( |
int |
streamId | ) |
|
|
pure virtual |
暂停视频流。
- 参数
-
- 返回
-
- 注解
- 暂停视频流前请先开启视频流,否则操作将无效。
◆ setCallback()
◆ setCaptureDevice()
virtual QResult VideoStreamManager::setCaptureDevice |
( |
int |
streamId, |
|
|
const char |
deviceId[kMaxDeviceIDLength] |
|
) |
| |
|
pure virtual |
设置或更新视频流的采集设备。
- 参数
-
streamId | 视频流 ID。 |
deviceId | 采集设备 ID。 |
- 返回
-
◆ setVideoFilter()
设置视频流过滤器。
- 参数
-
streamId | 视频流 ID |
filter | 过滤器对象指针 |
autoRelease | 让SDK接管对象生命周期的维护。注意对象可能在任何时候被SDK释放,因此用户不应该在设置之后后再次调用过滤器对象。 |
- 返回
-
◆ snapshotVideo()
virtual QResult VideoStreamManager::snapshotVideo |
( |
uint64_t |
userId, |
|
|
int |
streamId, |
|
|
const char * |
outputDir, |
|
|
SnapshotVideoOption |
option |
|
) |
| |
|
pure virtual |
捕获指定用户的视频流画面
- 参数
-
userId | 目标用户的 ID |
streamId | 视频流 ID |
outputDir | 输出路径 |
option | 快照选项 |
- 返回
-
◆ startVideo() [1/3]
开启视频流,并且设置数据接收槽
- 参数
-
streamId | 视频流 ID |
视频数据接收槽 | |
config | 视频源配置 |
- 返回
-
◆ startVideo() [2/3]
开启视频流,并且设置数据接收槽
- 参数
-
streamId | 视频流 ID |
视频数据接收槽 | |
profileType | 视频能力 |
- 返回
-
◆ startVideo() [3/3]
virtual QResult VideoStreamManager::startVideo |
( |
int |
streamId, |
|
|
void * |
window, |
|
|
const VideoConfig & |
config |
|
) |
| |
|
pure virtual |
开启视频流,并且设置渲染窗口
- 参数
-
streamId | 视频流 ID |
window | 平台相关的窗口句柄, 在windows平台, 该参数必须是HWND |
config | 视频配置参数 |
- 返回
-
- 注解
- 在 macOS iOS and Android 平台下必须从主线程调用。
◆ stopVideo()
virtual QResult VideoStreamManager::stopVideo |
( |
int |
streamId | ) |
|
|
pure virtual |
◆ subscribeVideo() [1/2]
订阅用户的视频流, 并设置视频数据接收槽。
- 参数
-
userId | 客户定义的用户标识。 |
streamId | 视频流 ID。 |
sink。 | 视频数据接收槽。 |
profileType | 视频能力。 |
- 返回
-
- 注解
- 订阅用户的视频流前,请确保用户已开启视频流。
◆ subscribeVideo() [2/2]
virtual QResult VideoStreamManager::subscribeVideo |
( |
uint64_t |
userId, |
|
|
int |
streamId, |
|
|
void * |
window, |
|
|
const VideoConfig & |
config |
|
) |
| |
|
pure virtual |
订阅用户的视频流, 并设置渲染窗口。
- 参数
-
userId | 客户定义的用户标识。 |
streamId | 视频流 ID。 |
window | 平台相关的窗口对象, 在windows平台, 该参数必须是HWND对象。 |
config | 视频参数。 |
- 返回
-
- 注解
- 订阅用户的视频流前,请确保用户已开启视频流。 在 macOS iOS and Android 平台下必须从主线程调用。
◆ unmuteVideo()
virtual QResult VideoStreamManager::unmuteVideo |
( |
int |
streamId | ) |
|
|
pure virtual |
恢复视频。
- 参数
-
- 返回
-
- 注解
- 恢复视频流前请先开启视频流,否则操作将无效。
◆ unsubscribeVideo()
virtual QResult VideoStreamManager::unsubscribeVideo |
( |
uint64_t |
userId, |
|
|
int |
streamId |
|
) |
| |
|
pure virtual |
取消订阅用户的视频。
- 参数
-
userId | 客户定义的用户标识。 |
streamId | 视频流 ID。 |
- 返回
-
- 注解
- 当用户停止视频流或者离开频道的时候,用户的视频流将会被自动取消订阅。
该类的文档由以下文件生成: