@volcengine/react-native-live-push 1.0.0

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/android/build.gradle +92 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +16 -0
  6. package/android/src/main/AndroidManifestNew.xml +16 -0
  7. package/android/src/main/java/com/volcengine/velive/rn/push/ExternalSourceHelper.java +58 -0
  8. package/android/src/main/java/com/volcengine/velive/rn/push/NativeVariableManager.java +19 -0
  9. package/android/src/main/java/com/volcengine/velive/rn/push/ScreenCaptureHelper.java +73 -0
  10. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushModule.java +182 -0
  11. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushModuleSpec.java +16 -0
  12. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushPackage.java +27 -0
  13. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushView.java +45 -0
  14. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushViewManager.java +87 -0
  15. package/ios/VeLivePushSDK.h +24 -0
  16. package/ios/VeLivePushSDK.m +109 -0
  17. package/ios/VeLivePushView.h +24 -0
  18. package/ios/VeLivePushView.m +74 -0
  19. package/ios/VeLivePushViewManager.m +59 -0
  20. package/lib/commonjs/index.js +24238 -0
  21. package/lib/module/index.js +24186 -0
  22. package/lib/typescript/android/index.d.ts +44 -0
  23. package/lib/typescript/codegen/android/api.d.ts +1408 -0
  24. package/lib/typescript/codegen/android/callback.d.ts +265 -0
  25. package/lib/typescript/codegen/android/errorcode.d.ts +50 -0
  26. package/lib/typescript/codegen/android/index.d.ts +5 -0
  27. package/lib/typescript/codegen/android/keytype.d.ts +1069 -0
  28. package/lib/typescript/codegen/android/types.d.ts +32 -0
  29. package/lib/typescript/codegen/ios/api.d.ts +1133 -0
  30. package/lib/typescript/codegen/ios/callback.d.ts +251 -0
  31. package/lib/typescript/codegen/ios/errorcode.d.ts +104 -0
  32. package/lib/typescript/codegen/ios/index.d.ts +5 -0
  33. package/lib/typescript/codegen/ios/keytype.d.ts +934 -0
  34. package/lib/typescript/codegen/ios/types.d.ts +35 -0
  35. package/lib/typescript/codegen/pack/api.d.ts +1923 -0
  36. package/lib/typescript/codegen/pack/callback.d.ts +545 -0
  37. package/lib/typescript/codegen/pack/errorcode.d.ts +174 -0
  38. package/lib/typescript/codegen/pack/index.d.ts +5 -0
  39. package/lib/typescript/codegen/pack/keytype.d.ts +1953 -0
  40. package/lib/typescript/codegen/pack/types.d.ts +1 -0
  41. package/lib/typescript/codegen/type-shim.d.ts +6 -0
  42. package/lib/typescript/component.d.ts +8 -0
  43. package/lib/typescript/core/api.d.ts +2 -0
  44. package/lib/typescript/core/callback.d.ts +2 -0
  45. package/lib/typescript/core/env.d.ts +29 -0
  46. package/lib/typescript/core/errorcode.d.ts +2 -0
  47. package/lib/typescript/core/index.d.ts +6 -0
  48. package/lib/typescript/core/keytype.d.ts +7 -0
  49. package/lib/typescript/core/pusher.d.ts +16 -0
  50. package/lib/typescript/index.d.ts +2 -0
  51. package/lib/typescript/ios/extends.d.ts +41 -0
  52. package/lib/typescript/runtime.d.ts +1 -0
  53. package/package.json +31 -0
  54. package/react-native-velive-push.podspec +45 -0
@@ -0,0 +1,1408 @@
1
+ import { int, long, Matrix, ByteBuffer, Runnable, float, String, View, Bitmap, Intent, EGLContext, Context, LiveSdkSetting } from './types';
2
+ import { VeLiveVideoBufferType, VeLivePixelFormat, VeLiveVideoRotation, VeLiveVideoEffectLicenseConfiguration, VeLivePusherRenderMode, VeLiveVideoMirrorType, VeLiveVideoCaptureType, VeLiveAudioCaptureType, VeLiveVideoEncoderConfiguration, VeLiveAudioEncoderConfiguration, VeLiveFileRecorderConfiguration, VeLiveOrientation, VeLivePusherLogLevel, VeLivePusherLogConfig, VeLiveAudioMixType, VeLiveStreamMixDescription, VeLiveAudioSampleRate, VeLiveAudioChannel, VeLiveAudioBufferType, VeLiveVideoCaptureConfiguration, VeLiveAudioCaptureConfiguration } from './keytype';
3
+ import { VeLiveVideoEffectCallback, VeLiveVideoEffectHandleCallback, VeLivePusherObserver, VeLivePusherStatisticsObserver, VeLiveFileRecordingListener, VeLiveVideoFrameFilter, VeLiveAudioFrameFilter, VeLiveVideoFrameListener, VeLiveAudioFrameListener, VeLiveSnapshotListener, VeLiveMediaPlayerListener, VeLiveMediaPlayerFrameListener } from './callback';
4
+ export declare class VeLiveVideoFrame {
5
+ width: number;
6
+ height: number;
7
+ ptsUs: number;
8
+ textureId: number;
9
+ data: any;
10
+ static new_VeLiveVideoFrame(): VeLiveVideoFrame;
11
+ static new_VeLiveVideoFrame_int$int$long$int$boolean$Matrix(width: int, height: int, pts: long, texId: int, isOes: boolean, matrix: Matrix): VeLiveVideoFrame;
12
+ static new_VeLiveVideoFrame_int$int$long$ByteBuffer(width: int, height: int, pts: long, byteBuffer: ByteBuffer): VeLiveVideoFrame;
13
+ static new_VeLiveVideoFrame_int$int$long$byte(width: int, height: int, pts: long, data: ArrayBuffer): VeLiveVideoFrame;
14
+ /** {zh}
15
+ * @detail api
16
+ * @brief 增加 VeLiveVideoFrame 对象的引用计数。当您需要继续使用 VeLiveVideoFrame 对象时,请调用此方法将引用计数增加 1。
17
+ */
18
+ retain(): void;
19
+ /** {zh}
20
+ * @detail api
21
+ * @brief 释放对 VeLiveVideoFrame 对象的引用。在您不再需要使用 VeLiveVideoFrame 对象时,应调用此方法将引用计数减少 1。当引用计数减少到零,表示不再有引用指向该对象,可以安全地释放或销毁该对象。
22
+ */
23
+ release(): void;
24
+ /** {zh}
25
+ * @detail api
26
+ * @brief 获取视频数据类型。
27
+ * @return 视频数据类型,详情请参见 [VeLiveVideoBufferType](147521#VeLiveVideoBufferType)。
28
+ */
29
+ getBufferType(): VeLiveVideoBufferType;
30
+ /** {zh}
31
+ * @detail api
32
+ * @brief 设置视频数据类型。
33
+ * @param bufferType 视频数据类型,详情请参见 {@link #VeLiveVideoBufferType VeLiveVideoBufferType}
34
+ * @return <br>
35
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
36
+ */
37
+ setBufferType(bufferType: VeLiveVideoBufferType): VeLiveVideoFrame;
38
+ /** {zh}
39
+ * @detail api
40
+ * @brief 获取视频像素格式。
41
+ * @return <br>
42
+ * 视频像素格式,详情请参见 {@link #VeLivePixelFormat VeLivePixelFormat}。
43
+ */
44
+ getPixelFormat(): VeLivePixelFormat;
45
+ /** {zh}
46
+ * @detail api
47
+ * @brief 设置视频像素格式。
48
+ * @param pixelFormat 视频像素格式,详情请参见 {@link #VeLivePixelFormat VeLivePixelFormat}
49
+ * @return <br>
50
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
51
+ */
52
+ setPixelFormat(pixelFormat: VeLivePixelFormat): VeLiveVideoFrame;
53
+ /** {zh}
54
+ * @detail api
55
+ * @brief 获取视频帧旋转角度。
56
+ * @return <br>
57
+ * 视频帧旋转角度,详情请参见 {@link #VeLiveVideoRotation VeLiveVideoRotation}。
58
+ */
59
+ getRotation(): VeLiveVideoRotation;
60
+ /** {zh}
61
+ * @detail api
62
+ * @brief 设置视频帧旋转角度。
63
+ * @param rotation 视频帧旋转角度,详情请参见 {@link #VeLiveVideoRotation VeLiveVideoRotation}
64
+ * @return <br>
65
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
66
+ */
67
+ setRotation(rotation: VeLiveVideoRotation): VeLiveVideoFrame;
68
+ /** {zh}
69
+ * @detail api
70
+ * @brief 获取视频帧宽度。
71
+ * @return <br>
72
+ * 视频帧宽度。
73
+ */
74
+ getWidth(): int;
75
+ /** {zh}
76
+ * @detail api
77
+ * @brief 获取视频帧高度。
78
+ * @return <br>
79
+ * 视频帧高度。
80
+ */
81
+ getHeight(): int;
82
+ /** {zh}
83
+ * @detail api
84
+ * @brief 获取带旋转角度的视频帧宽度。
85
+ * @return <br>
86
+ * 带旋转角度的视频帧宽度。
87
+ */
88
+ getRotatedWidth(): int;
89
+ /** {zh}
90
+ * @detail api
91
+ * @brief 获取带旋转角度的视频帧高度。
92
+ * @return <br>
93
+ * 带旋转角度的视频帧高度。
94
+ */
95
+ getRotatedHeight(): int;
96
+ /** {zh}
97
+ * @detail api
98
+ * @brief 获取视频帧时间戳。
99
+ * @return <br>
100
+ * 视频帧时间戳,单位为 μs。
101
+ */
102
+ getPts(): long;
103
+ /** {zh}
104
+ * @detail api
105
+ * @brief 获取视频帧纹理 ID。
106
+ * @return <br>
107
+ * 视频帧纹理 ID。
108
+ */
109
+ getTextureId(): int;
110
+ /** {zh}
111
+ * @detail api
112
+ * @brief 获取视频帧纹理矩阵。
113
+ * @return <br>
114
+ * 视频帧纹理矩阵。
115
+ */
116
+ getTextureMatrix(): Matrix;
117
+ /** {zh}
118
+ * @detail api
119
+ * @brief 获取 ByteBuffer 格式的视频数据。
120
+ * @return <br>
121
+ * ByteBuffer 格式的视频数据。
122
+ */
123
+ getBuffer(): ByteBuffer;
124
+ /** {zh}
125
+ * @detail api
126
+ * @brief 获取 byte[] 格式的视频数据。
127
+ * @return <br>
128
+ * byte[] 格式的视频数据。
129
+ */
130
+ getData(): ArrayBuffer;
131
+ /** {zh}
132
+ * @detail api
133
+ * @brief 获取视频帧内部销毁回调。
134
+ * @return <br>
135
+ * 视频帧内部销毁回调。
136
+ */
137
+ getReleaseCallback(): Runnable;
138
+ /** {zh}
139
+ * @detail api
140
+ * @brief 设置视频帧内部销毁回调。
141
+ * @param releaseCallback 视频帧内部销毁回调
142
+ * @return <br>
143
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
144
+ */
145
+ setReleaseCallback(releaseCallback: Runnable): VeLiveVideoFrame;
146
+ }
147
+ export declare class VeLiveCameraDevice {
148
+ /** {zh}
149
+ * @hidden
150
+ */
151
+ CAMERA_DEVICE_CODE_OK: int;
152
+ /** {zh}
153
+ * @hidden
154
+ */
155
+ CAMERA_DEVICE_CODE_NOT_LIVE: int;
156
+ /** {zh}
157
+ * @hidden
158
+ */
159
+ CAMERA_DEVICE_CODE_NOT_SUPPORT: int;
160
+ /** {zh}
161
+ * @hidden
162
+ */
163
+ CAMERA_DEVICE_CODE_PARAM_ILLEGAL: int;
164
+ /** {zh}
165
+ * @hidden
166
+ */
167
+ CAMERA_DEVICE_CODE_ERROR_BASE: int;
168
+ /** {zh}
169
+ * @detail api
170
+ * @brief 设置相机参数。
171
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
172
+ * @order 64
173
+ * @param parameter 相机参数对象,用于指定要设置的相机参数。
174
+ */
175
+ setParameter(parameter: Parameter): int;
176
+ /** {zh}
177
+ * @detail api
178
+ * @brief 获取相机参数。
179
+ * @return <br>
180
+ * 相机参数的值,具体类型需要根据参数名称确定。
181
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
182
+ * @order 65
183
+ */
184
+ getParameter(): Parameter;
185
+ /** {zh}
186
+ * @detail api
187
+ * @brief 获取相机支持帧率范围。
188
+ * @return <br>
189
+ * 相机支持帧率范围。
190
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
191
+ * @order 66
192
+ */
193
+ getRealFpsRange(): int[];
194
+ /** {zh}
195
+ * @detail api
196
+ * @brief 开启/关闭闪光灯。
197
+ * @return <br>
198
+ * - 0:开启/关闭成功;
199
+ * - ≠0:开启/关闭失败。
200
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
201
+ * @order 67
202
+ * @param enable 是否开启闪光灯。默认为 false。 <br>
203
+ * - true:开启;
204
+ * - false:关闭。
205
+ */
206
+ enableTorch(enable: boolean): int;
207
+ /** {zh}
208
+ * @detail api
209
+ * @brief 设置摄像头的缩放倍数。
210
+ * @return <br>
211
+ * - 0:缩放成功;
212
+ * - ≠0:缩放失败。
213
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
214
+ * @order 68
215
+ * @param ratio 缩放倍数。默认为原尺寸。缩放倍数的取值范围为 [[getMinZoomRatio](#VeLiveCameraDevice-getminzoomratio),[getMaxZoomRatio](#VeLiveCameraDevice-getmaxzoomratio)]。
216
+ */
217
+ setZoomRatio(ratio: float): int;
218
+ /** {zh}
219
+ * @detail api
220
+ * @brief 获取摄像头当前的缩放倍数。
221
+ * @return <br>
222
+ * - ≤0:表示不支持缩放;
223
+ * - \\>0:支持缩放,数值表示当前缩放倍数。
224
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
225
+ * @order 68
226
+ */
227
+ getCurrentZoomRatio(): float;
228
+ /** {zh}
229
+ * @detail api
230
+ * @brief 获取摄像头的最大缩放倍数。
231
+ * @return <br>
232
+ * - ≤0:表示不支持缩放;
233
+ * - \\>0:支持缩放,数值表示最大缩放倍数。
234
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
235
+ * @order 69
236
+ */
237
+ getMaxZoomRatio(): float;
238
+ /** {zh}
239
+ * @detail api
240
+ * @brief 获取摄像头的最小缩放倍数。
241
+ * @return <br>
242
+ * - ≤0:表示不支持缩放;
243
+ * - \\>0:支持缩放,数值表示最小缩放倍数。
244
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
245
+ * @order 70
246
+ */
247
+ getMinZoomRatio(): float;
248
+ /** {zh}
249
+ * @detail api
250
+ * @brief 是否支持自动对焦。
251
+ * @return <br>
252
+ * - true:支持;
253
+ * - false:不支持。
254
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
255
+ * @order 71
256
+ */
257
+ isAutoFocusEnabled(): boolean;
258
+ /** {zh}
259
+ * @detail api
260
+ * @brief 开启/关闭自动对焦功能。
261
+ * @return <br>
262
+ * - 0:开启/关闭成功;
263
+ * - ≠0:开启/关闭失败。
264
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
265
+ * @order 72
266
+ * @param enable 是否开启自动对焦,默认为 true。
267
+ * - true:开启;
268
+ * - false:关闭。
269
+ */
270
+ enableAutoFocus(enable: boolean): int;
271
+ /** {zh}
272
+ * @detail api
273
+ * @brief 设置摄像头的对焦位置。
274
+ * @return <br>
275
+ * - 0:设置成功;
276
+ * - ≠0:设置失败。
277
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
278
+ * @order 73
279
+ * @param viewW 当前视图宽度。
280
+ * @param viewH 当前视图高度。
281
+ * @param x 以左上角为原点,对焦点距当前视图的横向坐标值。
282
+ * @param y 以左上角为原点,对焦点距当前视图的纵向坐标值。
283
+ */
284
+ setFocusPosition(viewW: int, viewH: int, x: int, y: int): int;
285
+ /** {zh}
286
+ * @detail api
287
+ * @brief 检查当前使用的摄像头是否支持手动设置曝光点。
288
+ * @return - YES:支持;
289
+ * - NO:不支持。
290
+ * @notes 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集时,才能检查曝光点设置能力。
291
+ * @order 74
292
+ */
293
+ isExposurePositionSupported(): boolean;
294
+ /** {zh}
295
+ * @detail api
296
+ * @brief 设置当前使用的摄像头的曝光点。
297
+ * @return - =0:成功;
298
+ * - ≠0:失败。
299
+ * @notes - 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集,并且使用 SDK 内部渲染时,才能设置曝光点;
300
+ * - 调用 [stopVideoCapture](#VeLivePusher-stopvideocapture) 关闭内部采集后,设置的曝光点失效。
301
+ * @order 75
302
+ * @param viewW 当前视图宽度。
303
+ * @param viewH 当前视图高度。
304
+ * @param x 以左上角为原点,对焦点距当前视图的横向坐标值。
305
+ * @param y 以左上角为原点,对焦点距当前视图的纵向坐标值。
306
+ */
307
+ setExposurePosition(viewW: int, viewH: int, x: int, y: int): int;
308
+ /** {zh}
309
+ * @detail api
310
+ * @brief 获取摄像头的最小曝光补偿值。
311
+ * @return - ≤0:表示不支持曝光补偿;
312
+ * - \\>0:支持曝光补偿,数值表示最小曝光补偿。
313
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
314
+ * @order 76
315
+ */
316
+ getMinExposureCompensation(): float;
317
+ /** {zh}
318
+ * @detail api
319
+ * @brief 获取摄像头的最大曝光补偿值。
320
+ * @return - ≤0:表示不支持曝光补偿;
321
+ * - \\>0:支持曝光补偿,数值表示最大曝光补偿。
322
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
323
+ * @order 77
324
+ */
325
+ getMaxExposureCompensation(): float;
326
+ /** {zh}
327
+ * @detail api
328
+ * @brief 设置当前使用的摄像头的曝光补偿。
329
+ * @return - =0:设置成功;
330
+ * - ≠0:设置失败。
331
+ * @notes - 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集时,才能设置曝光补偿。
332
+ * - 调用 [stopVideoCapture](#VeLivePusher-stopvideocapture) 关闭内部采集后,设置的曝光补偿失效。
333
+ * @order 78
334
+ * @param value 曝光补偿值,取值范围 [[getMinExposureCompensation](#VeLiveCameraDevice-getminexposurecompensation),[getMaxExposureCompensation](#VeLiveCameraDevice-getmaxexposurecompensation)],0 为系统默认值,表示没有曝光补偿。
335
+ */
336
+ setExposureCompensation(value: float): int;
337
+ }
338
+ export declare class VeLiveVideoEffectManager {
339
+ /** {zh}
340
+ * @detail api
341
+ * @brief 视频特效许可证配置,用于初始化视频特效管理对象。
342
+ * @return <br>
343
+ * - 0:调用成功;
344
+ * - -1:调用失败。
345
+ * @order 89
346
+ * @param config 特效初始化配置,详情请参见 [VeLiveVideoEffectLicenseConfiguration](147521#VeLiveVideoEffectLicenseConfiguration)。
347
+ */
348
+ setupWithConfig(config: VeLiveVideoEffectLicenseConfiguration): int;
349
+ /** {zh}
350
+ * @detail api
351
+ * @brief 更新在线 License。本方法仅对在线 License 有效。
352
+ * @notes - 需要通过调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 设置视频特效许可证后调用;
353
+ * - 如果您使用在线 License 认证方式,在许可证过期后,可调用该方法更新 License;
354
+ * - 本方法为异步操作。
355
+ * @order 90
356
+ * @param callback 结果回调信息
357
+ */
358
+ updateLicense(callback: VeLiveVideoEffectCallback): void;
359
+ /** {zh}
360
+ * @detail api
361
+ * @brief 创建/销毁特效引擎。
362
+ * @return <br>
363
+ * - 0:成功;
364
+ * - -1:失败。
365
+ * @notes <br>
366
+ * - 该方法需要在调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 和 [setAlgorithmModelPath](#VeLiveVideoEffectManager-setalgorithmmodelpath) 后调用;
367
+ * - 该方法不直接开启/关闭视频特效,您需要在调用该方法后,调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 开启视频特效;
368
+ * - 通用场景下,特效引擎会随 EffectManager 销毁而销毁。如果您对性能有较高要求,也可以在不使用特效相关功能时,调用该方法销毁特效引擎;
369
+ * - 如果重复创建/销毁特效引擎,会产生时间消耗。
370
+ * @order 92
371
+ * @param enable 是否创建特效引擎。默认为 false。 <br>
372
+ * - true:创建;
373
+ * - false:销毁。
374
+ * @param callback 视频特效回调 [VeLiveVideoEffectCallback](147519#velivevideoeffectcallback)。
375
+ */
376
+ setEnable(enable: boolean, callback: VeLiveVideoEffectCallback): void;
377
+ /** {zh}
378
+ * @detail api
379
+ * @brief 设置特效算法模型包的路径。
380
+ * @return <br>
381
+ * - 0:调用成功;
382
+ * - -1:调用失败。
383
+ * @notes <br>需要通过调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 设置视频特效许可证后调用。
384
+ * @order 91
385
+ * @param path 特效算法模型包的路径
386
+ */
387
+ setAlgorithmModelPath(path: String): int;
388
+ /** {zh}
389
+ * @detail api
390
+ * @brief 设置视频特效组合。支持设置 ComposeMakeup.bundle 中的功能,包括美颜、美形、美体、美妆等。
391
+ * @return <br>
392
+ * - 0:调用成功;
393
+ * - -1:调用失败。
394
+ * @notes <br>
395
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法;
396
+ * - 重复调用本方法,仅最后一次调用生效;
397
+ * - 如果需要在当前的视频特效组合中叠加特效,可调用 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 方法。
398
+ * @order 93
399
+ * @param nodes 视频特效素材包路径数组
400
+ */
401
+ setComposeNodes(nodes: String[]): int;
402
+ /** {zh}
403
+ * @detail api
404
+ * @brief 在已有的视频特效组合上,叠加视频特效素材包。
405
+ * @return <br>
406
+ * - 0:调用成功;
407
+ * - -1:调用失败。
408
+ * @notes <br>
409
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法。
410
+ * - 调用本方法,会在 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 设置的视频特效组合的基础上叠加特效。
411
+ * @order 94
412
+ * @param nodes 视频特效素材包路径数组
413
+ */
414
+ appendComposeNodes(nodes: String[]): int;
415
+ /** {zh}
416
+ * @detail api
417
+ * @brief 移除指定的视频特效资源。
418
+ * @return <br>
419
+ * - 0:调用成功;
420
+ * - -1:调用失败。
421
+ * @notes <br>
422
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法。
423
+ * - 调用本方法,可移除调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 和 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 设置的视频特效资源。
424
+ * @order 94
425
+ * @param nodes 视频特效素材包路径数组
426
+ */
427
+ removeComposeNodes(nodes: String[]): int;
428
+ /** {zh}
429
+ * @detail api
430
+ * @brief 设置视频特效强度。
431
+ * @return <br>
432
+ * - 0:调用成功;
433
+ * - -1:调用失败。
434
+ * @notes <br>
435
+ * - 需要在调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 设置视频特效组合或调用 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 叠加视频特效素材包后,调用本方法;
436
+ * - 该方法仅适用于同时含有上述三个参数的特效资源,对于没有强度参数的特效(如贴纸),该方法无效。
437
+ * @order 95
438
+ * @param node 视频特效素材包路径
439
+ * @param key 需要设置的素材 key 名称
440
+ * @param intensity 需要设置的强度值。取值范围为 [0.0,1.0]
441
+ */
442
+ updateComposerNodeIntensity(node: String, key: String, intensity: float): int;
443
+ /** {zh}
444
+ * @detail api
445
+ * @brief 设置颜色滤镜。
446
+ * @return <br>
447
+ * - 0:调用成功;
448
+ * - -1:调用失败。
449
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法。
450
+ * @order 96
451
+ * @param path 滤镜资源包绝对路径
452
+ */
453
+ setFilter(path: String): int;
454
+ /** {zh}
455
+ * @detail api
456
+ * @brief 设置已启用的颜色滤镜强度。
457
+ * @return <br>
458
+ * - 0:调用成功;
459
+ * - -1:调用失败。
460
+ * @notes <br>请在调用 [setFilter](#VeLiveVideoEffectManager-setfilter) 设置颜色滤镜后调用。
461
+ * @order 97
462
+ * @param intensity 滤镜强度,取值范围为 [0.0,1.0]。
463
+ */
464
+ updateFilterIntensity(intensity: float): int;
465
+ /** {zh}
466
+ * @detail api
467
+ * @brief 设置贴纸特效。
468
+ * @return <br>
469
+ * - 0:调用成功;
470
+ * - -1:调用失败。
471
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法。
472
+ * @order 98
473
+ * @param path 贴纸素材包的绝对路径
474
+ */
475
+ setSticker(path: String): int;
476
+ /** {zh}
477
+ * @detail api
478
+ * @brief CV 高级接口。
479
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法,不要在主线程中频繁执行同步操作。
480
+ * @order 99
481
+ * @param callback 回调 CV 的 handle。
482
+ * @param isGLThread 是否在 GL 线程回调 callback。
483
+ * @param isAsync 是否同步执行 callback。
484
+ */
485
+ setAdvancedFeature(callback: VeLiveVideoEffectHandleCallback, isGLThread: boolean, isAsync: boolean): int;
486
+ }
487
+ export declare class WrappedI420BufferFrame {
488
+ constructor(width: int, height: int, pts: long, rotation: VeLiveVideoRotation);
489
+ getDataY(): ByteBuffer;
490
+ getDataU(): ByteBuffer;
491
+ getDataV(): ByteBuffer;
492
+ }
493
+ export declare class VeLivePusher {
494
+ /** {zh}
495
+ * @detail api
496
+ * @hidden
497
+ * @brief 获取当前 SDK 版本号。
498
+ * @return <br>
499
+ * 当前 SDK 版本号。
500
+ */
501
+ static getVersion(): String;
502
+ /** {zh}
503
+ * @detail api
504
+ * @brief 设置输出到控制台的日志等级。
505
+ * @order 60
506
+ * @param logLevel 输出的日志级别。级别详情请参见 [VeLivePusherLogLevel](147521#VeLivePusherLogLevel)。
507
+ */
508
+ static setLogLevel(logLevel: VeLivePusherLogLevel): void;
509
+ /** {zh}
510
+ * @detail api
511
+ * @hidden
512
+ * @brief 设置日志控制。
513
+ * @param config 输出的日志控制,详情请参见 [VeLivePusherLogConfig](147521#VeLivePusherLogConfig)。
514
+ */
515
+ static setLogConfig(config: VeLivePusherLogConfig): void;
516
+ /** {zh}
517
+ * @detail api
518
+ * @brief 设置 OpenGL 的版本号,默认值为 `3`。
519
+ * @param version OpenGL 版本号,支持的取值包括 `2` 和 `3`,分别对应 OpenGL 2.0 和 3.0 版本。
520
+ * @order 62
521
+ */
522
+ static setEGLVersion(version: int): void;
523
+ /** {zh}
524
+ * @detail api
525
+ * @brief 设置 OpenGL 的上下文。
526
+ * @order 61
527
+ * @param context OpenGL 上下文。
528
+ */
529
+ static setEGLContext(context: EGLContext): void;
530
+ /** {zh}
531
+ * @detail api
532
+ * @brief 获取 OpenGL 的上下文。
533
+ * @return <br>
534
+ * 当前 OpenGL 的上下文。
535
+ * @order 63
536
+ */
537
+ static getEGLContext(): EGLContext;
538
+ /** {zh}
539
+ * @detail api
540
+ * @brief 停止采集和推流,并销毁推流器。通常在调用 [stopPush](#VeLivePusher-stoppush) 结束推流后调用此方法进行清理。
541
+ * @order 13
542
+ */
543
+ release(): void;
544
+ /** {zh}
545
+ * @detail api
546
+ * @brief 设置推流器回调,通过设置回调,监听推流器的推流错误、状态、网络质量、设备、首帧等回调事件。
547
+ * @notes <br>
548
+ * - 需要在创建推流引擎后,调用本方法;
549
+ * - 重复调用本方法,仅最后一次调用生效。
550
+ * @order 14
551
+ * @param observer 推流器回调对象,详细信息请参见 [VeLivePusherObserver](147519#VeLivePusherObserver)。
552
+ */
553
+ setObserver(observer: VeLivePusherObserver): void;
554
+ /** {zh}
555
+ * @detail api
556
+ * @brief 设置推流器周期性回调,用于定期获取推流状态信息。
557
+ * @notes <br>
558
+ * - 需要在创建推流引擎后,调用本方法;
559
+ * - 重复调用本方法,仅最后一次调用生效。
560
+ * @order 15
561
+ * @param observer 推流器周期性回调对象,详细信息请参见 [VeLivePusherStatisticsObserver](147519#VeLivePusherStatisticsObserver)。
562
+ * @param interval 周期性回调的时间间隔,单位为 s,默认值为 5。
563
+ */
564
+ setStatisticsObserver(observer: VeLivePusherStatisticsObserver, interval: int): void;
565
+ /** {zh}
566
+ * @detail api
567
+ * @brief 设置本地摄像头预览视图。摄像头采集到的画面,经过美颜、脸形调整、滤镜等多种效果叠加之后,最终会显示到传入的 View 上。
568
+ * @param view 摄像头预览视图
569
+ * @order 16
570
+ */
571
+ setRenderView(view: View): Promise<void>;
572
+ /** {zh}
573
+ * @detail api
574
+ * @brief 设置本地预览画面的填充模式。
575
+ * @param mode 填充模式。
576
+ */
577
+ setRenderFillMode(mode: VeLivePusherRenderMode): void;
578
+ /** {zh}
579
+ * @detail api
580
+ * @brief 开启/关闭镜像。
581
+ * @notes <br>
582
+ * 用于配置视频镜像效果,影响采集、预览和推流画面。
583
+ * @order 17
584
+ * @param type 镜像类型,详细信息请参见 [VeLiveVideoMirrorType](147521#VeLiveVideoMirrorType)。
585
+ * @param mirror 是否开启镜像。<br>
586
+ * - true:开启;
587
+ * - false:关闭。
588
+ */
589
+ setVideoMirror(type: VeLiveVideoMirrorType, mirror: boolean): void;
590
+ /** {zh}
591
+ * @detail api
592
+ * @brief 开始视频采集。
593
+ * @notes <br>调用该接口后,可以通过调用接口 [stopVideoCapture](#VeLivePusher-stopvideocapture) 停止视频采集。
594
+ * @order 18
595
+ * @param type 视频采集类型,详细信息请参见 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType}
596
+ *
597
+ */
598
+ startVideoCapture(type: VeLiveVideoCaptureType): void;
599
+ /** {zh}
600
+ * @detail api
601
+ * @brief 停止视频采集。
602
+ * @notes <br>调用该接口后,可以通过调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 开始视频采集。
603
+ * @order 19
604
+ */
605
+ stopVideoCapture(): void;
606
+ /** {zh}
607
+ * @detail api
608
+ * @brief 开始音频采集。
609
+ * @notes <br>调用该接口后,可以通过调用接口 [stopAudioCapture](#VeLivePusher-stopaudiocapture) 停止音频采集。
610
+ * @order 20
611
+ * @param type 音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
612
+ */
613
+ startAudioCapture(type: VeLiveAudioCaptureType): void;
614
+ /** {zh}
615
+ * @detail api
616
+ * @brief 停止音频采集。
617
+ * @notes <br>调用该接口后,可以通过调用接口 [startAudioCapture](#VeLivePusher-startaudiocapture) 开始音频采集。
618
+ * @order 21
619
+ */
620
+ stopAudioCapture(): void;
621
+ /** {zh}
622
+ * @detail api
623
+ * @brief 切换视频采集类型。
624
+ * @notes <br>该接口必须在调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 后调用才能生效。
625
+ * @order 22
626
+ * @param type 视频采集类型,详细信息请参见 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType)。
627
+ */
628
+ switchVideoCapture(type: VeLiveVideoCaptureType): void;
629
+ /** {zh}
630
+ * @detail api
631
+ * @brief 切换音频采集类型。
632
+ * @notes <br>该接口必须在调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 后调用才能生效。
633
+ * @order 23
634
+ * @param type 音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
635
+ */
636
+ switchAudioCapture(type: VeLiveAudioCaptureType): void;
637
+ /** {zh}
638
+ * @detail api
639
+ * @brief 获取当前视频采集类型。
640
+ * @return <br>视频采集类型,详细信息请参见 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType)。
641
+ * @order 24
642
+ */
643
+ getCurrentVideoCaptureType(): VeLiveVideoCaptureType;
644
+ /** {zh}
645
+ * @detail api
646
+ * @brief 获取当前音频采集类型。
647
+ * @return <br>音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
648
+ * @order 25
649
+ */
650
+ getCurrentAudioCaptureType(): VeLiveAudioCaptureType;
651
+ /** {zh}
652
+ * @detail api
653
+ * @brief 自定义静态图,适用于静态图推流采集类型。
654
+ * @notes <br>使用该接口时,需要将视频采集类型设置为 VeLiveVideoCaptureCustomImage,您可调用 [startVideoCapture](#VeLivePusher-startvideocapture) 方法,将 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType) 设置为 VeLiveVideoCaptureCustomImage。
655
+ * @order 26
656
+ * @param image 静态图片,用于在静态图推流采集类型下设置静态图。
657
+ */
658
+ updateCustomImage(image: Bitmap): Promise<void>;
659
+ /** {zh}
660
+ * @detail api
661
+ * @brief 获取相机设备管理对象 `VeLiveCameraDevice`。通过设备管理,您可以使用以下功能。
662
+ * - 控制闪光灯开关
663
+ * - 设置摄像头缩放比例
664
+ * - 设置自动对焦
665
+ * @return <br>
666
+ * 相机设备管理对象 {@link #VeLiveCameraDevice VeLiveCameraDevice}。
667
+ * @notes <br>
668
+ * 该接口需要在 {@link #startVideoCapture startVideoCapture} 方法中设置 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType} 为 VeLiveVideoCaptureFrontCamera 或 VeLiveVideoCaptureBackCamera。
669
+ * @order 27
670
+ */
671
+ getCameraDevice(): VeLiveCameraDevice;
672
+ /** {zh}
673
+ * @detail api
674
+ * @brief 设置推流视频编码参数。
675
+ * @notes 该接口可在推流开始前或开始后调用。
676
+ * @order 28
677
+ * @param config 推流视频参数,支持设置推流视频分辨率、编码格式、目标码率和视频 GOP 大小等信息。详情请参见 {@link #VeLiveVideoEncoderConfiguration VeLiveVideoEncoderConfiguration}
678
+ */
679
+ setVideoEncoderConfiguration(config: VeLiveVideoEncoderConfiguration): void;
680
+ /** {zh}
681
+ * @detail api
682
+ * @brief 获取推流视频编码参数。
683
+ * @return <br>
684
+ * 推流视频参数,支持设置推流视频分辨率、编码格式、目标码率和视频 GOP 大小等信息。详情请参见 {@link #VeLiveVideoEncoderConfiguration VeLiveVideoEncoderConfiguration}
685
+ * @order 29
686
+ */
687
+ getVideoEncoderConfiguration(): VeLiveVideoEncoderConfiguration;
688
+ /** {zh}
689
+ * @detail api
690
+ * @brief 设置推流音频编码参数。
691
+ * @notes <br>该接口需要在 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法之前调用。
692
+ * @order 30
693
+ * @param config 推流音频编码参数,详情请参见 [VeLiveAudioEncoderConfiguration](147521#VeLiveAudioEncoderConfiguration)。
694
+ */
695
+ setAudioEncoderConfiguration(config: VeLiveAudioEncoderConfiguration): void;
696
+ /** {zh}
697
+ * @detail api
698
+ * @brief 获取推流音频编码参数。
699
+ * @return <br>推流音频编码参数,详情请参见 [VeLiveAudioEncoderConfiguration](147521#VeLiveAudioEncoderConfiguration)。
700
+ * @order 31
701
+ */
702
+ getAudioEncoderConfiguration(): VeLiveAudioEncoderConfiguration;
703
+ /** {zh}
704
+ * @detail api
705
+ * @brief 开始推流。
706
+ * @order 32
707
+ * @param url 推流地址,用于将直播流推送到目标服务器。
708
+ */
709
+ startPush(url: String): void;
710
+ /** {zh}
711
+ * @detail api
712
+ * @brief 开始推流,支持备用推流地址。
713
+ * @notes <br>
714
+ * 当主推流地址不可用时,会自动切换到备用推流地址继续推流。
715
+ * @order 33
716
+ * @param urls 推流地址列表,包含一个或多个推流地址。
717
+ */
718
+ startPushWithUrls(urls: String[]): void;
719
+ /** {zh}
720
+ * @detail api
721
+ * @brief 停止推流。
722
+ * @notes <br>停止推流后,可以通过调用 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法重新开始推流。
723
+ * @order 34
724
+ */
725
+ stopPush(): void;
726
+ /** {zh}
727
+ * @detail api
728
+ * @brief 当前是否正在推流中,可用来查询推流器的当前状态。
729
+ * @return <br>
730
+ * 是否正在推流。<br>
731
+ * - true:正在推流中;
732
+ * - false:已经停止推流。
733
+ * @order 35
734
+ */
735
+ isPushing(): boolean;
736
+ /** {zh}
737
+ * @detail api
738
+ * @brief 设置推流水印。
739
+ * @return <br>
740
+ * - 0:水印设置成功;
741
+ * - <0:水印设置失败。
742
+ * @order 36
743
+ * @param image 水印图片。取值为 null 时,表示禁用水印。
744
+ * @param x 水印的水平偏移量,即水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0.0,1.0]。
745
+ * @param y 水印的垂直偏移量,即水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0.0,1.0]。
746
+ * @param scale 水印图片的缩放比例,取值范围为 [0.0,1.0]。
747
+ */
748
+ setWatermark(image: Bitmap, x: float, y: float, scale: float): Promise<int>;
749
+ /** {zh}
750
+ * @detail api
751
+ * @brief 开始本地文件录制。
752
+ * @order 37
753
+ * @param path 录制文件保存路径,不能为空。
754
+ * @param config 文件录制设置,详情请参见 [VeLiveFileRecorderConfiguration](147521#VeLiveFileRecorderConfiguration)。
755
+ * @param listener 本地文件录制的监听,详情请参见 [VeLiveFileRecordingListener](147519#VeLiveFileRecordingListener) 。
756
+ */
757
+ startFileRecording(path: String, config: VeLiveFileRecorderConfiguration, listener: VeLiveFileRecordingListener): void;
758
+ /** {zh}
759
+ * @detail api
760
+ * @brief 停止本地文件录制。
761
+ * @notes <br>该接口需要在 [startFileRecording](#VeLivePusher-startfilerecording) 方法之后调用。
762
+ * @order 38
763
+ */
764
+ stopFileRecording(): void;
765
+ /** {zh}
766
+ * @detail api
767
+ * @brief 高级配置。
768
+ * @return <br>
769
+ * - 0:成功;
770
+ * - -1:失败,参数错误。
771
+ * @order 39
772
+ * @param key 推流高级配置为 JSON 格式的字符串,此参数为 JSON 结构中的 Key。您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076),了解配置方法。
773
+ * @param value 推流高级配置为 JSON 格式的字符串,此参数为 JSON 结构中的 Value。您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076),了解配置方法。
774
+ */
775
+ setProperty(key: String, value: Object): int;
776
+ /** {zh}
777
+ * @detail api
778
+ * @brief 推送外部视频帧数据。
779
+ * @return <br>
780
+ * - 0:成功;
781
+ * - <0:失败。
782
+ * @notes <br>
783
+ * 调用该接口时,需要将视频采集类型设置为 VeLiveVideoCaptureExternal,您可调用 {@link #startVideoCapture startVideoCapture} 方法,将 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType} 设置为 VeLiveVideoCaptureExternal。
784
+ * @order 40
785
+ * @param frame 视频帧的数据信息,详情请参见 [VeLiveVideoFrame](147517#VeLiveVideoFrame)。
786
+ */
787
+ pushExternalVideoFrame(frame: VeLiveVideoFrame): int;
788
+ /** {zh}
789
+ * @detail api
790
+ * @brief 推送外部音频帧数据。
791
+ * @return <br>
792
+ * - 0:成功;
793
+ * - <0:失败。
794
+ * @notes <br>
795
+ * 该接口需要在 {@link #startAudioCapture startAudioCapture} 方法中设置 {@link #VeLiveAudioCaptureType VeLiveAudioCaptureType} 为 VeLiveAudioCaptureExternal。
796
+ * @order 41
797
+ * @param frame 外部音频数据。详情请参见 [VeLiveAudioFrame](147517#VeLiveAudioFrame)。
798
+ */
799
+ pushExternalAudioFrame(frame: VeLiveAudioFrame): int;
800
+ /** {zh}
801
+ * @detail api
802
+ * @brief 设置推流视频帧朝向。默认为竖屏推流。
803
+ * @order 42
804
+ * @param orientation 视频帧朝向,详情请参见 [VeLiveOrientation](147521#VeLiveOrientation)。
805
+ */
806
+ setOrientation(orientation: VeLiveOrientation): void;
807
+ /** {zh}
808
+ * @detail api
809
+ * @brief 通过视频帧发送 SEI 消息。
810
+ * @return <br>
811
+ * - 0:成功;
812
+ * - <0:失败。
813
+ * @notes <br>该接口需要在调用 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法之后调用。
814
+ * @order 43
815
+ * @param key SEI 消息为 JSON 格式的字符串。此参数为 JSON 结构中的 Key。
816
+ * @param value SEI 消息为 JSON 格式的字符串。此参数为 JSON 结构中的 Value。
817
+ * @param repeat 消息发送重复的次数。例如,`repeat` 取值为 20,`isKeyFrame` 取值为 YES,则会在视频帧开始的连续 20 个关键帧中添加 SEI 消息。
818
+ * @param isKeyFrame 是否仅在关键帧中包含 SEI 消息。<br>
819
+ * - true:仅在关键帧中包含;
820
+ * - false:所有帧中均包含。
821
+ * @param allowsCovered 是否允许覆盖。<br>
822
+ * - true:允许;
823
+ * - false:不允许。
824
+ */
825
+ sendSeiMessage(key: String, value: Object, repeat: int, isKeyFrame: boolean, allowsCovered: boolean): int;
826
+ /** {zh}
827
+ * @detail api
828
+ * @brief 设置静音。
829
+ * @param mute 是否设置为静音。默认为正常推流。<br>
830
+ * - true:静音推流;
831
+ * - false:正常推流。
832
+ * @order 44
833
+ */
834
+ setMute(mute: boolean): void;
835
+ /** {zh}
836
+ * @detail api
837
+ * @brief 当前是否是静音状态。
838
+ * @return <br>
839
+ * - true:当前是静音状态;
840
+ * - false:当前非静音状态。
841
+ * @order 45
842
+ */
843
+ isMute(): boolean;
844
+ /** {zh}
845
+ * @detail api
846
+ * @brief 获取视频特效管理对象 `VeLiveVideoEffectManager`。通过视频特效管理,您可以使用以下功能。
847
+ * - 设置美颜
848
+ * - 设置特效
849
+ * - 设置素材
850
+ * - 设置贴图
851
+ * - 设置滤镜
852
+ * @return <br>
853
+ * 视频特效管理对象 {@link #VeLiveVideoEffectManager VeLiveVideoEffectManager}。
854
+ * @notes <br>
855
+ * 该接口需要集成美颜特效 CV SDK 后才能使用。
856
+ * @order 46
857
+ */
858
+ getVideoEffectManager(): VeLiveVideoEffectManager;
859
+ /** {zh}
860
+ * @detail api
861
+ * @brief 自定义视频处理。
862
+ * @order 47
863
+ * @param filter 视频数据处理回调,详情请参见 [VeLiveVideoFrameFilter](147519#VeLiveVideoFrameFilter)。
864
+ */
865
+ setVideoFrameFilter(filter: VeLiveVideoFrameFilter): void;
866
+ /** {zh}
867
+ * @detail api
868
+ * @brief 获取音频模块管理对象。
869
+ * @return <br>
870
+ * 音频模块管理对象 {@link #VeLiveAudioDevice VeLiveAudioDevice}。
871
+ * @notes <br>
872
+ * 该接口需要在 {@link #startAudioCapture startAudioCapture} 方法中设置 {@link #VeLiveAudioCaptureType VeLiveAudioCaptureType} 为 VeLiveAudioCaptureMicrophone。
873
+ * @order 48
874
+ */
875
+ getAudioDevice(): VeLiveAudioDevice;
876
+ /** {zh}
877
+ * @detail api
878
+ * @brief 自定义音频处理。
879
+ * @order 49
880
+ * @param filter 音频帧滤镜对象 VeLiveAudioFrameFilter 。
881
+ */
882
+ setAudioFrameFilter(filter: VeLiveAudioFrameFilter): void;
883
+ /** {zh}
884
+ * @detail api
885
+ * @brief 创建播放器。
886
+ * @return <br>
887
+ * 播放器管理对象 {@link #VeLiveMediaPlayer VeLiveMediaPlayer}。
888
+ * @order 50
889
+ */
890
+ createPlayer(): VeLiveMediaPlayer;
891
+ /** {zh}
892
+ * @detail api
893
+ * @brief 获取混流管理对象。
894
+ * @return <br>
895
+ * 混流管理对象 {@link #VeLiveMixerManager VeLiveMixerManager}。
896
+ * @order 51
897
+ */
898
+ getMixerManager(): VeLiveMixerManager;
899
+ /** {zh}
900
+ * @detail api
901
+ * @brief 开始屏幕采集。
902
+ * @order 52
903
+ * @param enableAppAudio 是否支持应用内音频数据,默认为 true,该参数暂不支持修改。
904
+ * @param screenIntent 系统屏幕录制权限。
905
+ */
906
+ startScreenRecording(enableAppAudio: boolean, screenIntent: Intent): void;
907
+ /** {zh}
908
+ * @detail api
909
+ * @brief 停止屏幕采集。
910
+ * @order 53
911
+ */
912
+ stopScreenRecording(): void;
913
+ /** {zh}
914
+ * @detail api
915
+ * @brief 获取当前是否处于屏幕采集状态。
916
+ * @order 54
917
+ */
918
+ isScreenRecording(): boolean;
919
+ /** {zh}
920
+ * @detail api
921
+ * @brief 添加视频帧的监听回调,用于获取推流器输出的视频帧。
922
+ * @return <br>
923
+ * - 0:成功;
924
+ * - <0:失败。
925
+ * @order 55
926
+ * @param listener 视频帧的监听回调,详细信息请参见 [VeLiveVideoFrameListener](147519#VeLiveVideoFrameListener)。
927
+ */
928
+ addVideoFrameListener(listener: VeLiveVideoFrameListener): int;
929
+ /** {zh}
930
+ * @detail api
931
+ * @brief 移除已添加的视频帧监听回调。
932
+ * @return <br>
933
+ * - 0:成功;
934
+ * - <0:失败。
935
+ * @notes <br>
936
+ * 如果没有添加过此监听回调或者监听回调已被移除,调用此方法将返回失败。
937
+ * @order 56
938
+ * @param listener 视频帧的监听回调,详细信息请参见 [VeLiveVideoFrameListener](147519#VeLiveVideoFrameListener)。
939
+ */
940
+ removeVideoFrameListener(listener: VeLiveVideoFrameListener): int;
941
+ /** {zh}
942
+ * @detail api
943
+ * @brief 添加音频帧的监听回调,用于获取推流器输出的音频帧。
944
+ * @return <br>
945
+ * - 0:成功;
946
+ * - <0:失败。
947
+ * @order 57
948
+ * @param listener 音频帧监听回调,详细信息请参见 [VeLiveAudioFrameListener](147519#VeLiveAudioFrameListener)。
949
+ */
950
+ addAudioFrameListener(listener: VeLiveAudioFrameListener): int;
951
+ /** {zh}
952
+ * @detail api
953
+ * @brief 移除已添加的音频帧监听回调。
954
+ * @return <br>
955
+ * - 0:成功;
956
+ * - <0:失败。
957
+ * @notes <br>
958
+ * 如果没有添加过此监听回调或者监听回调已被移除,调用此方法将返回失败。
959
+ * @order 58
960
+ * @param listener 音频帧的监听回调,详细信息请参见 [VeLiveAudioFrameListener](147519#VeLiveAudioFrameListener) 。
961
+ */
962
+ removeAudioFrameListener(listener: VeLiveAudioFrameListener): int;
963
+ /** {zh}
964
+ * @detail api
965
+ * @brief 视频截图。
966
+ * @order 59
967
+ * @param listener 截图监听对象,详情请参见 [VeLiveSnapshotListener](147519#VeLiveSnapshotListener)。
968
+ */
969
+ snapshot(listener: VeLiveSnapshotListener): void;
970
+ }
971
+ export declare class Parameter {
972
+ static readonly WIDTH: String;
973
+ static readonly HEIGHT: String;
974
+ static readonly FPS: String;
975
+ static readonly ZOOM: String;
976
+ static readonly FOCUS_MODE: String;
977
+ static readonly FOCUS_MODE_AUTO: String;
978
+ static readonly CURRENT_ISO: String;
979
+ setInt(key: String, value: int): int;
980
+ getInt(key: String): int;
981
+ setFloat(key: String, value: float): int;
982
+ getFloat(key: String): float;
983
+ }
984
+ export declare class VeLiveMixerManager {
985
+ /** {zh}
986
+ * @detail api
987
+ * @brief 添加一路需要混流的视频流到混流器中。
988
+ * @return <br>
989
+ * 视频流 ID。
990
+ * @order 79
991
+ */
992
+ addVideoStream(): int;
993
+ /** {zh}
994
+ * @detail api
995
+ * @brief 添加一路音频流到混流器中。
996
+ * @return <br>
997
+ * 音频流 ID。
998
+ * @order 80
999
+ */
1000
+ addAudioStream(): int;
1001
+ /** {zh}
1002
+ * @detail api
1003
+ * @brief 添加一路音频流到混流器中,并指定混流类型。
1004
+ * @return <br>
1005
+ * 音频流 ID。
1006
+ * @order 81
1007
+ * @param type 混流类型,详情请参见 [VeLiveAudioMixType](147521#VeLiveAudioMixType) 。
1008
+ */
1009
+ addAudioStream_VeLiveAudioMixType(type: VeLiveAudioMixType): int;
1010
+ /** {zh}
1011
+ * @detail api
1012
+ * @brief 获取主路视频流 ID。
1013
+ * @order 83
1014
+ */
1015
+ getOriginVideoStream(): int;
1016
+ /** {zh}
1017
+ * @detail api
1018
+ * @brief 获取主路音频流 ID。
1019
+ * @order 84
1020
+ */
1021
+ getOriginAudioStream(): int;
1022
+ /** {zh}
1023
+ * @detail api
1024
+ * @brief 获取主路屏幕流 ID。
1025
+ * @order 85
1026
+ */
1027
+ getOriginScreenStream(): int;
1028
+ /** {zh}
1029
+ * @detail api
1030
+ * @brief 获取主路系统音频流 ID。
1031
+ * @order 86
1032
+ */
1033
+ getOriginSystemAudioStream(): int;
1034
+ /** {zh}
1035
+ * @detail api
1036
+ * @brief 发送指定混流 ID 的自定义视频帧数据。
1037
+ * @order 87
1038
+ * @param frame 自定义的视频帧,详情请参见 [VeLiveVideoFrame](147517#VeLiveVideoFrame) 。
1039
+ * @param streamId 需要混流的视频流 ID。
1040
+ */
1041
+ sendCustomVideoFrame(frame: VeLiveVideoFrame, streamId: int): void;
1042
+ /** {zh}
1043
+ * @detail api
1044
+ * @brief 发送指定混流 ID 的自定义音频帧数据。
1045
+ * @order 88
1046
+ * @param frame 自定义的音频帧,详情请参见 [VeLiveAudioFrame](147517#VeLiveAudioFrame) 。
1047
+ * @param streamId 混流的音频流 ID。
1048
+ */
1049
+ sendCustomAudioFrame(frame: VeLiveAudioFrame, streamId: int): void;
1050
+ /** {zh}
1051
+ * @detail api
1052
+ * @brief 更新音视频混流的布局。
1053
+ * @param mixDescription 新的音视频混流布局,详情请参见 [VeLiveStreamMixDescription](147521#VeLiveStreamMixDescription)。
1054
+ */
1055
+ updateStreamMixDescription(mixDescription: VeLiveStreamMixDescription): void;
1056
+ /** {zh}
1057
+ * @detail api
1058
+ * @brief 从混流器中移除一路非主路的视频流。
1059
+ * @order 80
1060
+ * @param streamId 需要移除的非主路视频流 ID。
1061
+ */
1062
+ removeVideoStream(streamId: int): void;
1063
+ /** {zh}
1064
+ * @detail api
1065
+ * @brief 从混流器中移除一路非主路的音频流。
1066
+ * @order 82
1067
+ * @param streamId 需要移除的非主路音频流 ID。
1068
+ */
1069
+ removeAudioStream(streamId: int): void;
1070
+ }
1071
+ export declare class VeLiveMediaPlayer {
1072
+ /** {zh}
1073
+ * @detail api
1074
+ * @brief 销毁播放器实例。
1075
+ * @order 100
1076
+ */
1077
+ release(): void;
1078
+ /** {zh}
1079
+ * @detail api
1080
+ * @brief 设置播放状态的监听。
1081
+ * @notes <br>
1082
+ * 重复调用本方法,仅最后一次调用生效。
1083
+ * @order 101
1084
+ * @param listener 播放状态监听。详情请参见 [VeLiveMediaPlayerListener](147519#VeLiveMediaPlayerListener)。
1085
+ */
1086
+ setListener(listener: VeLiveMediaPlayerListener): void;
1087
+ /** {zh}
1088
+ * @detail api
1089
+ * @brief 设置文件路径。支持的文件格式包括 MP3、AAC、M4A、WAV。
1090
+ * @return <br>
1091
+ * - 0:成功;
1092
+ * - ≠0:失败。
1093
+ * @order 102
1094
+ * @param url 文件路径。
1095
+ */
1096
+ prepare(url: String): int;
1097
+ /** {zh}
1098
+ * @detail api
1099
+ * @brief 暂停播放。
1100
+ * @notes <br>
1101
+ * 需要在调用 {@link #start start} 开始播放后,调用本方法。
1102
+ * @order 103
1103
+ */
1104
+ start(): int;
1105
+ /** {zh}
1106
+ * @detail api
1107
+ * @brief 停止播放。
1108
+ * @return <br>
1109
+ * - 0:成功;
1110
+ * - ≠0:失败。
1111
+ * @notes <br>
1112
+ * 需要在调用 {@link #start start} 开始播放后,调用本方法。
1113
+ * @order 104
1114
+ */
1115
+ stop(): int;
1116
+ /** {zh}
1117
+ * @detail api
1118
+ * @brief 暂停播放。
1119
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start)[start](#VeLiveMediaPlayer-start) 开始播放后,调用本方法。
1120
+ * @order 105
1121
+ */
1122
+ pause(): void;
1123
+ /** {zh}
1124
+ * @detail api
1125
+ * @brief 恢复播放。
1126
+ * @notes <br>需要在调用 [pause](#VeLiveMediaPlayer-pause) 暂停播放后,调用本方法。
1127
+ * @order 106
1128
+ */
1129
+ resume(): void;
1130
+ /** {zh}
1131
+ * @detail api
1132
+ * @brief 获取文件的总时长,单位为 ms。
1133
+ * @return <br>
1134
+ * - \\\\>0:成功,音频文件时长;
1135
+ * - ≤0:失败。
1136
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start) 开始播放后,调用本方法。
1137
+ * @order 107
1138
+ */
1139
+ getDuration(): long;
1140
+ /** {zh}
1141
+ * @detail api
1142
+ * @brief 设置播放进度。
1143
+ * @return <br>
1144
+ * - 0:成功;
1145
+ * - ≠0:失败。
1146
+ * @order 108
1147
+ * @param posMs 播放时间,单位为 ms。
1148
+ */
1149
+ seek(posMs: long): int;
1150
+ /** {zh}
1151
+ * @detail api
1152
+ * @brief 开启/关闭音频是否混音到直播流。
1153
+ * @param enable 开启/关闭,默认为 false。 <br>
1154
+ * - ture:开启;
1155
+ * - false:关闭。
1156
+ * @order 109
1157
+ */
1158
+ enableMixer(enable: boolean): void;
1159
+ /** {zh}
1160
+ * @detail api
1161
+ * @brief 开启/关闭自动音量均衡。
1162
+ * @order 110
1163
+ * @param sourceLufs 源响度。
1164
+ * @param targetLufs 目标响度。
1165
+ */
1166
+ enableAutoEq(sourceLufs: float, targetLufs: float): void;
1167
+ /** {zh}
1168
+ * @detail api
1169
+ * @brief 支持 MP4 格式的视频渲染。
1170
+ * @order 111
1171
+ * @param view 渲染视图。
1172
+ */
1173
+ setRenderView(view: View): void;
1174
+ /** {zh}
1175
+ * @detail api
1176
+ * @brief 设置音视频帧回调的监听。
1177
+ * @notes <br>
1178
+ * 重复调用本方法,仅最后一次调用生效。
1179
+ * @order 112
1180
+ * @param listener 音视频帧回调监听。详情请参见 [VeLiveMediaPlayerFrameListener](147519#VeLiveMediaPlayerFrameListener)。
1181
+ */
1182
+ setFrameListener(listener: VeLiveMediaPlayerFrameListener): void;
1183
+ /** {zh}
1184
+ * @detail api
1185
+ * @brief 设置播放音频的音量。
1186
+ * @order 113
1187
+ * @param volume 播放音频音量,取值范围为 [0.0,4.0]。
1188
+ */
1189
+ setBGMVolume(volume: float): void;
1190
+ /** {zh}
1191
+ * @detail api
1192
+ * @brief 设置音频采集音量。
1193
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start) 开始播放背景音乐后,调用本方法。
1194
+ * @order 114
1195
+ * @param volume 音频采集音量,取值范围为 [0.0,4.0]。
1196
+ */
1197
+ setVoiceVolume(volume: float): void;
1198
+ /** {zh}
1199
+ * @detail api
1200
+ * @brief 设置是否循环播放。
1201
+ * @param loop 是否循环播放。默认为 false。<br>
1202
+ * - true:循环播放;
1203
+ * - false:不循环播放。
1204
+ * @order 115
1205
+ */
1206
+ enableBGMLoop(loop: boolean): void;
1207
+ }
1208
+ export declare class VeLiveAudioFrame {
1209
+ bufferType: any;
1210
+ sampleRate: any;
1211
+ channels: any;
1212
+ ptsUs: any;
1213
+ buffer: any;
1214
+ samplesPerChannel: any;
1215
+ static new_VeLiveAudioFrame_VeLiveAudioSampleRate$VeLiveAudioChannel$long$ByteBuffer(sampleRate: VeLiveAudioSampleRate, channel: VeLiveAudioChannel, pts: long, buffer: ByteBuffer): VeLiveAudioFrame;
1216
+ /** {zh}
1217
+ * @detail api
1218
+ * @brief 获取音频数据类型。
1219
+ * @return <br>
1220
+ * 音频数据类型,详情请参见 {@link #VeLiveAudioBufferType VeLiveAudioBufferType}。
1221
+ */
1222
+ getBufferType(): VeLiveAudioBufferType;
1223
+ /** {zh}
1224
+ * @detail api
1225
+ * @brief 获取音频采样率。
1226
+ * @return <br>
1227
+ * 音频采样率,详情请参见 {@link #VeLiveAudioSampleRate VeLiveAudioSampleRate}。
1228
+ */
1229
+ getSampleRate(): VeLiveAudioSampleRate;
1230
+ /** {zh}
1231
+ * @detail api
1232
+ * @brief 获取音频声道数。
1233
+ * @return <br>
1234
+ * 音频声道数,详情请参见 {@link #VeLiveAudioChannel VeLiveAudioChannel}。
1235
+ */
1236
+ getChannels(): VeLiveAudioChannel;
1237
+ /** {zh}
1238
+ * @detail api
1239
+ * @brief 获取音频位深度。
1240
+ * @return <br>
1241
+ * 音频位深度。
1242
+ */
1243
+ getSamplesPerChannel(): int;
1244
+ /** {zh}
1245
+ * @detail api
1246
+ * @brief 获取音频时间戳,单位为 μs。
1247
+ * @return <br>
1248
+ * 音频时间戳,单位为 μs。
1249
+ */
1250
+ getPts(): long;
1251
+ /** {zh}
1252
+ * @detail api
1253
+ * @brief 获取音频数据。音频帧数据为 float32 格式小端字节序存储。
1254
+ * @return <br>
1255
+ * 格式为 ByteBuffer 的音频数据。
1256
+ */
1257
+ getBuffer(): ByteBuffer;
1258
+ }
1259
+ export declare class VeLiveAudioDevice {
1260
+ /** {zh}
1261
+ * @detail api
1262
+ * @brief 设置音量响度。
1263
+ * @order 74
1264
+ * @param level 音量响度等级,取值范围为 [0.0,4.0]。
1265
+ */
1266
+ setVoiceLoudness(level: float): void;
1267
+ /** {zh}
1268
+ * @detail api
1269
+ * @brief 获取当前音量响度。
1270
+ * @return <br>
1271
+ * 当前音量响度等级。
1272
+ * @order 75
1273
+ */
1274
+ getVoiceLoudness(): float;
1275
+ /** {zh}
1276
+ * @detail api
1277
+ * @brief 查询是否支持硬件耳返。
1278
+ * @return <br>
1279
+ * - true:支持;
1280
+ * - false:不支持。
1281
+ * @order 76
1282
+ */
1283
+ isSupportHardwareEcho(): boolean;
1284
+ /** {zh}
1285
+ * @detail api
1286
+ * @brief 是否开启耳返功能。
1287
+ * @param enable 耳返功能开关。默认值为 false。<br>
1288
+ * - true:开启;
1289
+ * - false:关闭。
1290
+ * @order 77
1291
+ */
1292
+ enableEcho(enable: boolean): void;
1293
+ /** {zh}
1294
+ * @detail api
1295
+ * @brief 获取当前耳返开启状态。
1296
+ * @return <br>
1297
+ * - true:开启;
1298
+ * - false:关闭。
1299
+ * @order 78
1300
+ */
1301
+ isEnableEcho(): boolean;
1302
+ }
1303
+ export declare class VeLivePusherConfiguration {
1304
+ /** {zh}
1305
+ * @detail api
1306
+ * @brief 设置推流器推流失败后尝试重连的时间间隔。
1307
+ * @param interval 时间间隔,单位为 s,默认值为 5
1308
+ * @order 2
1309
+ */
1310
+ setReconnectIntervalSeconds(interval: int): VeLivePusherConfiguration;
1311
+ /** {zh}
1312
+ * @detail api
1313
+ * @brief 获取推流器推流失败后尝试重连的时间间隔。
1314
+ * @return <br>
1315
+ * 时间间隔,单位为 s。
1316
+ * @order 3
1317
+ */
1318
+ getReconnectIntervalSeconds(): int;
1319
+ /** {zh}
1320
+ * @detail api
1321
+ * @brief 设置推流器推流失败后尝试重连的次数。
1322
+ * @param maxCount 重连次数,默认值为 3
1323
+ * @order 4
1324
+ */
1325
+ setReconnectCount(maxCount: int): VeLivePusherConfiguration;
1326
+ /** {zh}
1327
+ * @detail api
1328
+ * @brief 获取推流器推流失败后尝试重连的次数。
1329
+ * @return <br>
1330
+ * 重连次数。
1331
+ * @order 5
1332
+ */
1333
+ getReconnectCount(): int;
1334
+ /** {zh}
1335
+ * @detail api
1336
+ * @brief 设置视频采集参数,用于调整和设置视频采集相关的参数。
1337
+ * @return <br>
1338
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1339
+ * @order 6
1340
+ * @param config 视频采集参数,详情请参见 [VeLiveVideoCaptureConfiguration](147521#VeLiveVideoCaptureConfiguration)。
1341
+ */
1342
+ setVideoCaptureConfig(config: VeLiveVideoCaptureConfiguration): VeLivePusherConfiguration;
1343
+ /** {zh}
1344
+ * @detail api
1345
+ * @brief 获取视频采集参数,用于调整和设置视频采集相关的参数。
1346
+ * @return <br>视频采集参数配置对象,详情请参见 [VeLiveVideoCaptureConfiguration](147521#VeLiveVideoCaptureConfiguration)。
1347
+ * @order 7
1348
+ */
1349
+ getVideoCaptureConfig(): VeLiveVideoCaptureConfiguration;
1350
+ /** {zh}
1351
+ * @detail api
1352
+ * @brief 设置音频采集参数,用于调整和设置音频采集相关的参数。
1353
+ * @return <br>
1354
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1355
+ * @order 7
1356
+ * @param config 音频采集参数,详情请参见 [VeLiveAudioCaptureConfiguration](147521#VeLiveAudioCaptureConfiguration)。
1357
+ */
1358
+ setAudioCaptureConfig(config: VeLiveAudioCaptureConfiguration): VeLivePusherConfiguration;
1359
+ /** {zh}
1360
+ * @detail api
1361
+ * @brief 获取音频采集参数,用于调整和设置音频采集相关的参数。
1362
+ * @return <br>音频采集参数配置对象,详情请参见 [VeLiveAudioCaptureConfiguration](147521#VeLiveAudioCaptureConfiguration)。
1363
+ * @order 8
1364
+ */
1365
+ getAudioCaptureConfig(): VeLiveAudioCaptureConfiguration;
1366
+ /** {zh}
1367
+ * @detail api
1368
+ * @brief 设置应用上下文。
1369
+ * @return <br>
1370
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1371
+ * @order 9
1372
+ * @param context 应用上下文。
1373
+ */
1374
+ setContext(context: Context): VeLivePusherConfiguration;
1375
+ /** {zh}
1376
+ * @detail api
1377
+ * @brief 获取应用上下文。
1378
+ * @return <br>
1379
+ * 应用上下文。
1380
+ * @order 10
1381
+ */
1382
+ getContext(): Context;
1383
+ /** {zh}
1384
+ * @detail api
1385
+ * @brief 设置扩展参数,默认不需要设置。如果需要使用,您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076)。
1386
+ * @return <br>
1387
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1388
+ * @order 11
1389
+ * @param params 扩展参数
1390
+ */
1391
+ setExtraParameters(params: String): VeLivePusherConfiguration;
1392
+ /** {zh}
1393
+ * @detail api
1394
+ * @brief 获取扩展参数。
1395
+ * @return <br>
1396
+ * 扩展参数。
1397
+ * @order 12
1398
+ */
1399
+ getExtraParams(): LiveSdkSetting;
1400
+ /** {zh}
1401
+ * @detail api
1402
+ * @brief 构造推流引擎。
1403
+ * @return <br>
1404
+ * 推流引擎,详情请参见 {@link #VeLivePusher VeLivePusher}。
1405
+ * @order 1
1406
+ */
1407
+ build(): VeLivePusher;
1408
+ }