腾讯云直播推流的回调通知。
V2TXLivePusher 的一些回调事件,包括推流器状态,推流音量,统计信息,警告以及错误信息。
◆ V2TXLivePusherObserver-p
protocol V2TXLivePusherObserver-p |
◆ onCaptureFirstAudioFrame()
- (void) onCaptureFirstAudioFrame |
|
|
|
|
optional |
◆ onCaptureFirstVideoFrame()
- (void) onCaptureFirstVideoFrame |
|
|
|
|
optional |
◆ onError:message:extraInfo:()
- (void) onError: |
|
(V2TXLiveCode) |
code |
message: |
|
(NSString *) |
msg |
extraInfo: |
|
(NSDictionary *) |
extraInfo |
|
|
| |
|
optional |
直播推流器错误通知,推流器出现错误时,会回调该通知
- 参数
-
◆ onGLContextDestroyed()
- (void) onGLContextDestroyed |
|
|
|
|
optional |
◆ onMicrophoneVolumeUpdate:()
- (void) onMicrophoneVolumeUpdate: |
|
(NSInteger) |
volume |
|
|
optional |
◆ onProcessVideoFrame:dstFrame:()
自定义视频处理回调
- 注意
- 需要调用 V2TXLivePusher::enableCustomVideoProcess:pixelFormat:bufferType: "enableCustomVideoProcess" 开启自定义视频处理,才会收到这个回调通知。
【情况一】美颜组件会产生新的纹理 如果您使用的美颜组件会在处理图像的过程中产生一帧全新的纹理(用于承载处理后的图像),那请您在回调函数中将 dstFrame.textureId 设置为新纹理的 ID。
- (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame
{
GLuint dstTextureId = renderItemWithTexture(srcFrame.textureId, srcFrame.width, srcFrame.height);
dstFrame.textureId = dstTextureId;
return 0;
}
【情况二】美颜组件并不自身产生新纹理
如果您使用的第三方美颜模块并不生成新的纹理,而是需要您设置给该模块一个输入纹理和一个输出纹理,则可以考虑如下方案:
- (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame
{
thirdparty_process(srcFrame.textureId, srcFrame.width, srcFrame.height, dstFrame.textureId);
return 0;
}
- 参数
-
srcFrame | 用于承载未处理的视频画面
|
dstFrame | 用于承载处理过的视频画面
|
◆ onPushStatusUpdate:message:extraInfo:()
- (void) onPushStatusUpdate: |
|
(V2TXLivePushStatus) |
status |
message: |
|
(NSString *) |
msg |
extraInfo: |
|
(NSDictionary *) |
extraInfo |
|
|
| |
|
optional |
◆ onScreenCaptureStarted()
- (void) onScreenCaptureStarted |
|
|
|
|
optional |
◆ onScreenCaptureStopped:()
- (void) onScreenCaptureStopped: |
|
(int) |
reason |
|
|
optional |
当屏幕分享停止时,SDK 会通过此回调通知
- 参数
-
reason | 停止原因
- 0:表示用户主动停止;
- 1:表示屏幕分享窗口被关闭;
- 2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)
|
◆ onSetMixTranscodingConfig:message:()
- (void) onSetMixTranscodingConfig: |
|
(V2TXLiveCode) |
code |
message: |
|
(NSString *) |
msg |
|
|
| |
|
optional |
◆ onSnapshotComplete:()
- (void) onSnapshotComplete: |
|
(TXImage *) |
image |
|
|
optional |
◆ onStatisticsUpdate:()
◆ onWarning:message:extraInfo:()
- (void) onWarning: |
|
(V2TXLiveCode) |
code |
message: |
|
(NSString *) |
msg |
extraInfo: |
|
(NSDictionary *) |
extraInfo |
|
|
| |
|
optional |