@tencentcloud/sdk-mcp 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +334 -0
  3. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +434 -0
  4. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +685 -0
  5. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +712 -0
  6. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +284 -0
  7. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +849 -0
  8. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +1046 -0
  9. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +460 -0
  10. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +558 -0
  11. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +879 -0
  12. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +668 -0
  13. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +456 -0
  14. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +332 -0
  15. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +748 -0
  16. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +328 -0
  17. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +505 -0
  18. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +507 -0
  19. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +676 -0
  20. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +284 -0
  21. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +820 -0
  22. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +1065 -0
  23. package/tools/common/get-faq.js +1 -1
  24. package/tools/common/get-faq.js.map +1 -1
  25. package/tools/definitions/get_native_live_api_def.js +22 -0
  26. package/tools/definitions/get_native_live_api_def.js.map +1 -0
  27. package/tools/index.js +4 -0
  28. package/tools/index.js.map +1 -1
  29. package/tools/native_live/get-native-live-api.js +31 -0
  30. package/tools/native_live/get-native-live-api.js.map +1 -0
  31. package/utils/report-cls-client.js +1 -1
  32. package/utils/report-es-client.js +1 -1
@@ -0,0 +1,332 @@
1
+ # 腾讯云直播SDK V2TXLivePusherObserver 直播推流器回调接口
2
+
3
+ ## 概述
4
+
5
+ `V2TXLivePusherObserver` 是腾讯云 TRTC 直播 SDK 推流器的观察者回调接口定义文件,提供了推流过程中的各种状态通知、错误处理、数据统计和自定义处理等回调功能。
6
+
7
+ ## 文件信息
8
+
9
+ - **文件路径**: `v2_tx_live_pusher_observer.dart`
10
+ - **依赖文件**:
11
+ - `v2_tx_live_code.dart` - 错误码定义
12
+ - `v2_tx_live_def.dart` - 类型定义
13
+
14
+ ## 回调类型枚举
15
+
16
+ ### V2TXLivePusherListenerType
17
+
18
+ 定义了推流器观察者的所有回调类型:
19
+
20
+ ```dart
21
+ enum V2TXLivePusherListenerType {
22
+ // 详细回调定义...
23
+ }
24
+ ```
25
+
26
+ ## 回调函数定义
27
+
28
+ ```dart
29
+ typedef V2TXLivePusherObserver<P> = void Function(V2TXLivePusherListenerType type, P? params);
30
+ ```
31
+
32
+ ## 回调类型详解
33
+
34
+ ### 1. 错误和警告回调
35
+
36
+ #### onError
37
+ **功能**: 错误回调,表示 SDK 遇到不可恢复的错误
38
+ ```dart
39
+ onError,
40
+ ```
41
+ **参数**:
42
+ - `code`: 错误码([V2TXLiveCode])
43
+ - `msg`: 错误消息(String)
44
+ - `extraInfo`: 扩展信息(Map)
45
+
46
+ **说明**: 必须监听此回调并根据情况给用户适当的 UI 提示
47
+
48
+ #### onWarning
49
+ **功能**: 警告回调,通知非关键问题
50
+ ```dart
51
+ onWarning,
52
+ ```
53
+ **参数**:
54
+ - `code`: 警告码([V2TXLiveCode])
55
+ - `msg`: 警告消息(String)
56
+ - `extraInfo`: 扩展信息(Map)
57
+
58
+ **说明**: 如卡顿或可恢复的解码失败等问题
59
+
60
+ ### 2. 采集状态回调
61
+
62
+ #### onCaptureFirstAudioFrame
63
+ **功能**: 音频采集第一帧完成回调
64
+ ```dart
65
+ onCaptureFirstAudioFrame,
66
+ ```
67
+ **参数**: 无
68
+
69
+ #### onCaptureFirstVideoFrame
70
+ **功能**: 视频采集第一帧完成回调
71
+ ```dart
72
+ onCaptureFirstVideoFrame,
73
+ ```
74
+ **参数**: 无
75
+
76
+ #### onMicrophoneVolumeUpdate
77
+ **功能**: 麦克风采集音量值回调
78
+ ```dart
79
+ onMicrophoneVolumeUpdate,
80
+ ```
81
+ **参数**:
82
+ - `volume`: 音量值(int)
83
+
84
+ ### 3. 推流状态回调
85
+
86
+ #### onPushStatusUpdate
87
+ **功能**: 推流器连接状态回调通知
88
+ ```dart
89
+ onPushStatusUpdate,
90
+ ```
91
+ **参数**:
92
+ - `status`: 状态(String)
93
+ - `errMsg`: 连接状态信息(String)
94
+ - `extraInfo`: 扩展信息(Map)
95
+
96
+ ### 4. 统计数据回调
97
+
98
+ #### onStatisticsUpdate
99
+ **功能**: 推流器直播数据统计回调
100
+ ```dart
101
+ onStatisticsUpdate,
102
+ ```
103
+ **参数**:
104
+ - `appCpu`: 当前应用 CPU 使用率(%)(int)
105
+ - `systemCpu`: 当前系统 CPU 使用率(%)(int)
106
+ - `width`: 视频宽度(int)
107
+ - `height`: 视频高度(int)
108
+ - `fps`: 帧率(int)
109
+ - `videoBitrate`: 视频码率(Kbps)(int)
110
+ - `audioBitrate`: 音频码率(Kbps)(int)
111
+
112
+ ### 5. 截图回调
113
+
114
+ #### onSnapshotComplete
115
+ **功能**: 截图完成回调
116
+ ```dart
117
+ onSnapshotComplete,
118
+ ```
119
+ **参数**:
120
+ - `image`: 截取的视频画面(Uint8List)
121
+
122
+ ### 6. OpenGL 环境回调
123
+
124
+ #### onGLContextCreated
125
+ **功能**: SDK 内部 OpenGL 环境创建通知
126
+ ```dart
127
+ onGLContextCreated,
128
+ ```
129
+ **参数**: 无
130
+
131
+ #### onGLContextDestroyed
132
+ **功能**: SDK 内部 OpenGL 环境销毁通知
133
+ ```dart
134
+ onGLContextDestroyed,
135
+ ```
136
+ **参数**: 无
137
+
138
+ ### 7. 自定义处理回调
139
+
140
+ #### onProcessVideoFrame
141
+ **功能**: 自定义视频处理回调
142
+ ```dart
143
+ onProcessVideoFrame,
144
+ ```
145
+ **参数**: 视频帧处理相关参数
146
+
147
+ ### 8. 云端混流转码回调
148
+
149
+ #### onSetMixTranscodingConfig
150
+ **功能**: 设置云端混流转码参数回调
151
+ ```dart
152
+ onSetMixTranscodingConfig,
153
+ ```
154
+ **参数**:
155
+ - `errCode`: 错误码([V2TXLiveCode])
156
+ - `errMsg`: 错误消息(String)
157
+
158
+ ### 9. 屏幕共享回调
159
+
160
+ #### onScreenCaptureStarted
161
+ **功能**: 屏幕共享开始通知回调
162
+ ```dart
163
+ onScreenCaptureStarted,
164
+ ```
165
+ **参数**: 无
166
+
167
+ #### onScreenCaptureStopped
168
+ **功能**: 屏幕共享停止通知回调
169
+ ```dart
170
+ onScreenCaptureStopped,
171
+ ```
172
+ **参数**: 无
173
+
174
+ ## 使用示例
175
+
176
+ ### 基础回调设置示例
177
+
178
+ ```dart
179
+ import 'v2_tx_live_pusher_observer.dart';
180
+ import 'v2_tx_live_pusher.dart';
181
+ import 'v2_tx_live_code.dart';
182
+
183
+ // 创建推流器实例
184
+ V2TXLivePusher pusher = V2TXLivePusher(V2TXLiveMode.V2TXLiveModeRTC);
185
+
186
+ // 设置观察者回调
187
+ pusher.setObserver((type, params) {
188
+ switch (type) {
189
+ case V2TXLivePusherListenerType.onError:
190
+ print('推流错误: code=${params.code}, msg=${params.msg}');
191
+ // 显示错误提示给用户
192
+ break;
193
+
194
+ case V2TXLivePusherListenerType.onWarning:
195
+ print('推流警告: code=${params.code}, msg=${params.msg}');
196
+ break;
197
+
198
+ case V2TXLivePusherListenerType.onCaptureFirstAudioFrame:
199
+ print('音频采集第一帧完成');
200
+ break;
201
+
202
+ case V2TXLivePusherListenerType.onCaptureFirstVideoFrame:
203
+ print('视频采集第一帧完成');
204
+ break;
205
+
206
+ case V2TXLivePusherListenerType.onMicrophoneVolumeUpdate:
207
+ print('麦克风音量: ${params.volume}');
208
+ break;
209
+
210
+ case V2TXLivePusherListenerType.onPushStatusUpdate:
211
+ print('推流状态更新: status=${params.status}, errMsg=${params.errMsg}');
212
+ break;
213
+
214
+ case V2TXLivePusherListenerType.onStatisticsUpdate:
215
+ print('统计数据: appCpu=${params.appCpu}%, systemCpu=${params.systemCpu}%, '
216
+ 'width=${params.width}, height=${params.height}, fps=${params.fps}, '
217
+ 'videoBitrate=${params.videoBitrate}Kbps, audioBitrate=${params.audioBitrate}Kbps');
218
+ break;
219
+
220
+ case V2TXLivePusherListenerType.onSnapshotComplete:
221
+ print('截图完成,图像数据大小: ${params.image.length} bytes');
222
+ break;
223
+
224
+ case V2TXLivePusherListenerType.onScreenCaptureStarted:
225
+ print('屏幕共享开始');
226
+ break;
227
+
228
+ case V2TXLivePusherListenerType.onScreenCaptureStopped:
229
+ print('屏幕共享停止');
230
+ break;
231
+
232
+ default:
233
+ break;
234
+ }
235
+ });
236
+ ```
237
+
238
+ ### 高级功能示例
239
+
240
+ ```dart
241
+ // OpenGL 环境回调处理
242
+ pusher.setObserver((type, params) {
243
+ switch (type) {
244
+ case V2TXLivePusherListenerType.onGLContextCreated:
245
+ print('OpenGL 环境已创建,可以进行自定义渲染设置');
246
+ break;
247
+
248
+ case V2TXLivePusherListenerType.onGLContextDestroyed:
249
+ print('OpenGL 环境已销毁,清理相关资源');
250
+ break;
251
+
252
+ case V2TXLivePusherListenerType.onProcessVideoFrame:
253
+ // 自定义视频处理逻辑
254
+ // params 包含视频帧数据,可以进行美颜、滤镜等处理
255
+ break;
256
+
257
+ case V2TXLivePusherListenerType.onSetMixTranscodingConfig:
258
+ if (params.errCode == V2TXLiveCode.V2TXLIVE_OK) {
259
+ print('云端混流转码配置成功');
260
+ } else {
261
+ print('云端混流转码配置失败: ${params.errMsg}');
262
+ }
263
+ break;
264
+
265
+ default:
266
+ break;
267
+ }
268
+ });
269
+ ```
270
+
271
+ ## 回调处理最佳实践
272
+
273
+ ### 1. 错误处理策略
274
+ ```dart
275
+ case V2TXLivePusherListenerType.onError:
276
+ // 根据错误码进行不同的处理
277
+ switch (params.code) {
278
+ case V2TXLiveCode.V2TXLIVE_ERROR_NET_DISCONNECT:
279
+ // 网络断开,提示用户检查网络
280
+ showNetworkErrorDialog();
281
+ break;
282
+ case V2TXLiveCode.V2TXLIVE_ERROR_CAMERA_START_FAILED:
283
+ // 摄像头启动失败,检查权限
284
+ checkCameraPermission();
285
+ break;
286
+ default:
287
+ // 其他错误处理
288
+ showGenericError(params.msg);
289
+ break;
290
+ }
291
+ break;
292
+ ```
293
+
294
+ ### 2. 性能监控
295
+ ```dart
296
+ case V2TXLivePusherListenerType.onStatisticsUpdate:
297
+ // 监控性能指标
298
+ if (params.appCpu > 80) {
299
+ print('应用 CPU 使用率过高,建议优化');
300
+ }
301
+ if (params.fps < 15) {
302
+ print('帧率过低,可能影响直播质量');
303
+ }
304
+ break;
305
+ ```
306
+
307
+ ### 3. 状态管理
308
+ ```dart
309
+ case V2TXLivePusherListenerType.onPushStatusUpdate:
310
+ // 根据推流状态更新 UI
311
+ switch (params.status) {
312
+ case 'CONNECTING':
313
+ updateUIState('连接中...');
314
+ break;
315
+ case 'CONNECTED':
316
+ updateUIState('推流中');
317
+ break;
318
+ case 'DISCONNECTED':
319
+ updateUIState('连接断开');
320
+ break;
321
+ }
322
+ break;
323
+ ```
324
+
325
+ ## 注意事项
326
+
327
+ 1. **错误回调必须处理**: `onError` 回调表示不可恢复的错误,必须给用户适当的提示
328
+ 2. **回调线程**: 所有回调都在非 UI 线程执行,需要切换到 UI 线程更新界面
329
+ 3. **性能考虑**: 在回调中避免执行耗时操作,以免影响推流性能
330
+ 4. **资源管理**: OpenGL 相关回调需要正确管理资源生命周期
331
+ 5. **截图数据**: `onSnapshotComplete` 返回的图像数据较大,使用后及时释放
332
+ 6. **自定义处理**: `onProcessVideoFrame` 回调中处理视频帧时要注意性能影响