@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,1923 @@
1
+ import { VeLiveVideoBufferType, VeLivePixelFormat, VeLiveVideoRotation, VeLiveVideoEffectLicenseConfiguration, VeLivePusherRenderMode, VeLiveVideoMirrorType, VeLiveVideoCaptureType, VeLiveAudioCaptureType, VeLiveVideoEncoderConfiguration, VeLiveAudioEncoderConfiguration, VeLiveFileRecorderConfiguration, VeLiveOrientation, VeLiveVideoEncodeFrame, VeLivePusherLogLevel, VeLiveStreamMixDescription, VeLiveAudioBufferType, VeLiveAudioSampleRate, VeLiveAudioChannel, VeLiveVideoCaptureConfiguration, VeLiveAudioCaptureConfiguration } from './keytype';
2
+ import * as $p_a from '../android/index';
3
+ import * as $p_i from '../ios/index';
4
+ import { VeLivePusherObserver, VeLivePusherStatisticsObserver, VeLiveFileRecordingListener, VeLiveVideoFrameFilter, VeLiveAudioFrameFilter, VeLiveVideoFrameListener, VeLiveAudioFrameListener, VeLiveSnapshotListener, VeLiveMediaPlayerListener, VeLiveMediaPlayerFrameListener } from './callback';
5
+ import { View } from './types';
6
+ /** {zh}
7
+ * @detail api
8
+ * @list overview
9
+ * @brief 视频帧的数据信息。
10
+ */
11
+
12
+ export declare class VeLiveVideoFrame {
13
+ protected _instance: any;
14
+ protected __init(...args: any[]): void;
15
+ protected __new_instance(...args: any[]): $p_a.VeLiveVideoFrame | $p_i.VeLiveVideoFrame;
16
+ get width(): number;
17
+ set width(value: number);
18
+ get height(): number;
19
+ set height(value: number);
20
+ /**
21
+ * @platform android
22
+ */
23
+ get android_ptsUs(): number;
24
+ set android_ptsUs(value: number);
25
+ get textureId(): number;
26
+ set textureId(value: number);
27
+ get data(): any;
28
+ set data(value: any);
29
+ /** {zh}
30
+ * @platform android
31
+ * @detail api
32
+ * @group 方法
33
+ * @brief 增加 VeLiveVideoFrame 对象的引用计数。当您需要继续使用 VeLiveVideoFrame 对象时,请调用此方法将引用计数增加 1。
34
+ */
35
+
36
+ android_retain(): void;
37
+ /** {zh}
38
+ * @detail api
39
+ * @group 方法
40
+ * @brief 释放对 VeLiveVideoFrame 对象的引用。在您不再需要使用 VeLiveVideoFrame 对象时,应调用此方法将引用计数减少 1。当引用计数减少到零,表示不再有引用指向该对象,可以安全地释放或销毁该对象。
41
+ */
42
+
43
+ release(): void;
44
+ /** {zh}
45
+ * @detail api
46
+ * @group 方法
47
+ * @brief 获取视频数据类型。
48
+ * @return 视频数据类型,详情请参见 [VeLiveVideoBufferType](147521#VeLiveVideoBufferType)。
49
+ */
50
+
51
+ getBufferType(): VeLiveVideoBufferType;
52
+ /** {zh}
53
+ * @detail api
54
+ * @group 方法
55
+ * @brief 设置视频数据类型。
56
+ * @param bufferType 视频数据类型,详情请参见 {@link #VeLiveVideoBufferType VeLiveVideoBufferType}
57
+ * @return <br>
58
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
59
+ */
60
+
61
+ setBufferType(bufferType: VeLiveVideoBufferType): VeLiveVideoFrame;
62
+ /** {zh}
63
+ * @detail api
64
+ * @group 方法
65
+ * @brief 获取视频像素格式。
66
+ * @return <br>
67
+ * 视频像素格式,详情请参见 {@link #VeLivePixelFormat VeLivePixelFormat}。
68
+ */
69
+
70
+ getPixelFormat(): VeLivePixelFormat;
71
+ /** {zh}
72
+ * @detail api
73
+ * @group 方法
74
+ * @brief 设置视频像素格式。
75
+ * @param pixelFormat 视频像素格式,详情请参见 {@link #VeLivePixelFormat VeLivePixelFormat}
76
+ * @return <br>
77
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
78
+ */
79
+
80
+ setPixelFormat(pixelFormat: VeLivePixelFormat): VeLiveVideoFrame;
81
+ /** {zh}
82
+ * @detail api
83
+ * @group 方法
84
+ * @brief 获取视频帧旋转角度。
85
+ * @return <br>
86
+ * 视频帧旋转角度,详情请参见 {@link #VeLiveVideoRotation VeLiveVideoRotation}。
87
+ */
88
+
89
+ getRotation(): VeLiveVideoRotation;
90
+ /** {zh}
91
+ * @detail api
92
+ * @group 方法
93
+ * @brief 设置视频帧旋转角度。
94
+ * @param rotation 视频帧旋转角度,详情请参见 {@link #VeLiveVideoRotation VeLiveVideoRotation}
95
+ * @return <br>
96
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
97
+ */
98
+
99
+ setRotation(rotation: VeLiveVideoRotation): VeLiveVideoFrame;
100
+ /** {zh}
101
+ * @detail api
102
+ * @group 方法
103
+ * @brief 获取视频帧宽度。
104
+ * @return <br>
105
+ * 视频帧宽度。
106
+ */
107
+
108
+ getWidth(): number;
109
+ /** {zh}
110
+ * @detail api
111
+ * @group 方法
112
+ * @brief 获取视频帧高度。
113
+ * @return <br>
114
+ * 视频帧高度。
115
+ */
116
+
117
+ getHeight(): number;
118
+ /** {zh}
119
+ * @platform android
120
+ * @detail api
121
+ * @group 方法
122
+ * @brief 获取带旋转角度的视频帧宽度。
123
+ * @return <br>
124
+ * 带旋转角度的视频帧宽度。
125
+ */
126
+
127
+ android_getRotatedWidth(): number;
128
+ /** {zh}
129
+ * @platform android
130
+ * @detail api
131
+ * @group 方法
132
+ * @brief 获取带旋转角度的视频帧高度。
133
+ * @return <br>
134
+ * 带旋转角度的视频帧高度。
135
+ */
136
+
137
+ android_getRotatedHeight(): number;
138
+ /** {zh}
139
+ * @detail api
140
+ * @group 方法
141
+ * @brief 获取视频帧时间戳。
142
+ * @return <br>
143
+ * 视频帧时间戳,单位为 μs。
144
+ */
145
+
146
+ getPts(): number;
147
+ /** {zh}
148
+ * @detail api
149
+ * @group 方法
150
+ * @brief 获取视频帧纹理 ID。
151
+ * @return <br>
152
+ * 视频帧纹理 ID。
153
+ */
154
+
155
+ getTextureId(): number;
156
+ /** {zh}
157
+ * @platform android
158
+ * @detail api
159
+ * @group 方法
160
+ * @brief 获取视频帧纹理矩阵。
161
+ * @return <br>
162
+ * 视频帧纹理矩阵。
163
+ */
164
+
165
+ android_getTextureMatrix(): $p_a.Matrix;
166
+ /** {zh}
167
+ * @platform android
168
+ * @detail api
169
+ * @group 方法
170
+ * @brief 获取 ByteBuffer 格式的视频数据。
171
+ * @return <br>
172
+ * ByteBuffer 格式的视频数据。
173
+ */
174
+
175
+ android_getBuffer(): unknown;
176
+ /** {zh}
177
+ * @detail api
178
+ * @group 方法
179
+ * @brief 获取 byte[] 格式的视频数据。
180
+ * @return <br>
181
+ * byte[] 格式的视频数据。
182
+ */
183
+
184
+ getData(): ArrayBuffer;
185
+ /** {zh}
186
+ * @platform android
187
+ * @detail api
188
+ * @group 方法
189
+ * @brief 获取视频帧内部销毁回调。
190
+ * @return <br>
191
+ * 视频帧内部销毁回调。
192
+ */
193
+
194
+ android_getReleaseCallback(): $p_a.Runnable;
195
+ /** {zh}
196
+ * @platform android
197
+ * @detail api
198
+ * @group 方法
199
+ * @brief 设置视频帧内部销毁回调。
200
+ * @param releaseCallback 视频帧内部销毁回调
201
+ * @return <br>
202
+ * 视频帧对象,详情请参见 {@link #VeLiveVideoFrame VeLiveVideoFrame}。
203
+ */
204
+
205
+ android_setReleaseCallback(releaseCallback: $p_a.Runnable): VeLiveVideoFrame;
206
+ }
207
+ /** {zh}
208
+ * @detail api
209
+ * @list overview
210
+ * @brief 相机设备管理对象。
211
+ */
212
+
213
+ export declare class VeLiveCameraDevice {
214
+ protected _instance: any;
215
+ protected __init(...args: any[]): void;
216
+ protected __new_instance(...args: any[]): $p_a.VeLiveCameraDevice | $p_i.VeLiveCameraDevice;
217
+ /** {zh}
218
+ * @platform android
219
+ * @hidden
220
+ */
221
+
222
+ get android_CAMERA_DEVICE_CODE_OK(): $p_a.int;
223
+ set android_CAMERA_DEVICE_CODE_OK(value: $p_a.int);
224
+ /** {zh}
225
+ * @platform android
226
+ * @hidden
227
+ */
228
+
229
+ get android_CAMERA_DEVICE_CODE_NOT_LIVE(): $p_a.int;
230
+ set android_CAMERA_DEVICE_CODE_NOT_LIVE(value: $p_a.int);
231
+ /** {zh}
232
+ * @platform android
233
+ * @hidden
234
+ */
235
+
236
+ get android_CAMERA_DEVICE_CODE_NOT_SUPPORT(): $p_a.int;
237
+ set android_CAMERA_DEVICE_CODE_NOT_SUPPORT(value: $p_a.int);
238
+ /** {zh}
239
+ * @platform android
240
+ * @hidden
241
+ */
242
+
243
+ get android_CAMERA_DEVICE_CODE_PARAM_ILLEGAL(): $p_a.int;
244
+ set android_CAMERA_DEVICE_CODE_PARAM_ILLEGAL(value: $p_a.int);
245
+ /** {zh}
246
+ * @platform android
247
+ * @hidden
248
+ */
249
+
250
+ get android_CAMERA_DEVICE_CODE_ERROR_BASE(): $p_a.int;
251
+ set android_CAMERA_DEVICE_CODE_ERROR_BASE(value: $p_a.int);
252
+ /** {zh}
253
+ * @detail api
254
+ * @group 方法
255
+ * @brief 设置相机参数。
256
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
257
+ * @order 64
258
+ * @param parameter 相机参数对象,用于指定要设置的相机参数。
259
+ */
260
+
261
+ setParameter(parameter: Parameter): void;
262
+ /** {zh}
263
+ * @detail api
264
+ * @group 方法
265
+ * @brief 获取相机参数。
266
+ * @return <br>
267
+ * 相机参数的值,具体类型需要根据参数名称确定。
268
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
269
+ * @order 65
270
+ */
271
+
272
+ getParameter(): Parameter;
273
+ /** {zh}
274
+ * @platform android
275
+ * @detail api
276
+ * @group 方法
277
+ * @brief 获取相机支持帧率范围。
278
+ * @return <br>
279
+ * 相机支持帧率范围。
280
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
281
+ * @order 66
282
+ */
283
+
284
+ android_getRealFpsRange(): $p_a.int[];
285
+ /** {zh}
286
+ * @detail api
287
+ * @group 方法
288
+ * @brief 开启/关闭闪光灯。
289
+ * @return <br>
290
+ * - 0:开启/关闭成功;
291
+ * - ≠0:开启/关闭失败。
292
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
293
+ * @order 67
294
+ * @param enable 是否开启闪光灯。默认为 false。 <br>
295
+ * - true:开启;
296
+ * - false:关闭。
297
+ */
298
+
299
+ enableTorch(enable: boolean): number;
300
+ /** {zh}
301
+ * @detail api
302
+ * @group 方法
303
+ * @brief 设置摄像头的缩放倍数。
304
+ * @return <br>
305
+ * - 0:缩放成功;
306
+ * - ≠0:缩放失败。
307
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
308
+ * @order 68
309
+ * @param ratio 缩放倍数。默认为原尺寸。缩放倍数的取值范围为 [[getMinZoomRatio](#VeLiveCameraDevice-getminzoomratio),[getMaxZoomRatio](#VeLiveCameraDevice-getmaxzoomratio)]。
310
+ */
311
+
312
+ setZoomRatio(ratio: number): number;
313
+ /** {zh}
314
+ * @detail api
315
+ * @group 方法
316
+ * @brief 获取摄像头当前的缩放倍数。
317
+ * @return <br>
318
+ * - ≤0:表示不支持缩放;
319
+ * - \\>0:支持缩放,数值表示当前缩放倍数。
320
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
321
+ * @order 68
322
+ */
323
+
324
+ getCurrentZoomRatio(): number;
325
+ /** {zh}
326
+ * @detail api
327
+ * @group 方法
328
+ * @brief 获取摄像头的最大缩放倍数。
329
+ * @return <br>
330
+ * - ≤0:表示不支持缩放;
331
+ * - \\>0:支持缩放,数值表示最大缩放倍数。
332
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
333
+ * @order 69
334
+ */
335
+
336
+ getMaxZoomRatio(): number;
337
+ /** {zh}
338
+ * @detail api
339
+ * @group 方法
340
+ * @brief 获取摄像头的最小缩放倍数。
341
+ * @return <br>
342
+ * - ≤0:表示不支持缩放;
343
+ * - \\>0:支持缩放,数值表示最小缩放倍数。
344
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
345
+ * @order 70
346
+ */
347
+
348
+ getMinZoomRatio(): number;
349
+ /** {zh}
350
+ * @detail api
351
+ * @group 方法
352
+ * @brief 是否支持自动对焦。
353
+ * @return <br>
354
+ * - true:支持;
355
+ * - false:不支持。
356
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
357
+ * @order 71
358
+ */
359
+
360
+ isAutoFocusEnabled(): boolean;
361
+ /** {zh}
362
+ * @detail api
363
+ * @group 方法
364
+ * @brief 开启/关闭自动对焦功能。
365
+ * @return <br>
366
+ * - 0:开启/关闭成功;
367
+ * - ≠0:开启/关闭失败。
368
+ * @notes <br>需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
369
+ * @order 72
370
+ * @param enable 是否开启自动对焦,默认为 true。
371
+ * - true:开启;
372
+ * - false:关闭。
373
+ */
374
+
375
+ enableAutoFocus(enable: boolean): number;
376
+ /** {zh}
377
+ * @detail api
378
+ * @group 方法
379
+ * @brief 设置摄像头的对焦位置。
380
+ * @return <br>
381
+ * - 0:设置成功;
382
+ * - ≠0:设置失败。
383
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
384
+ * @order 73
385
+ * @param viewW 当前视图宽度。
386
+ * @param viewH 当前视图高度。
387
+ * @param x 以左上角为原点,对焦点距当前视图的横向坐标值。
388
+ * @param y 以左上角为原点,对焦点距当前视图的纵向坐标值。
389
+ */
390
+
391
+ setFocusPosition(viewW: number, viewH: number, x: number, y: number): number;
392
+ /** {zh}
393
+ * @detail api
394
+ * @group 方法
395
+ * @brief 检查当前使用的摄像头是否支持手动设置曝光点。
396
+ * @return - YES:支持;
397
+ * - NO:不支持。
398
+ * @notes 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集时,才能检查曝光点设置能力。
399
+ * @order 74
400
+ */
401
+
402
+ isExposurePositionSupported(): boolean;
403
+ /** {zh}
404
+ * @detail api
405
+ * @group 方法
406
+ * @brief 设置当前使用的摄像头的曝光点。
407
+ * @return - =0:成功;
408
+ * - ≠0:失败。
409
+ * @notes - 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集,并且使用 SDK 内部渲染时,才能设置曝光点;
410
+ * - 调用 [stopVideoCapture](#VeLivePusher-stopvideocapture) 关闭内部采集后,设置的曝光点失效。
411
+ * @order 75
412
+ * @param viewW 当前视图宽度。
413
+ * @param viewH 当前视图高度。
414
+ * @param x 以左上角为原点,对焦点距当前视图的横向坐标值。
415
+ * @param y 以左上角为原点,对焦点距当前视图的纵向坐标值。
416
+ */
417
+
418
+ setExposurePosition(viewW: number, viewH: number, x: number, y: number): number;
419
+ /** {zh}
420
+ * @detail api
421
+ * @group 方法
422
+ * @brief 获取摄像头的最小曝光补偿值。
423
+ * @return - ≤0:表示不支持曝光补偿;
424
+ * - \\>0:支持曝光补偿,数值表示最小曝光补偿。
425
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
426
+ * @order 76
427
+ */
428
+
429
+ getMinExposureCompensation(): number;
430
+ /** {zh}
431
+ * @detail api
432
+ * @group 方法
433
+ * @brief 获取摄像头的最大曝光补偿值。
434
+ * @return - ≤0:表示不支持曝光补偿;
435
+ * - \\>0:支持曝光补偿,数值表示最大曝光补偿。
436
+ * @notes 需要在调用 [startVideoCapture](#VeLivePusher-startvideocapture) 启动相机采集后,调用本方法。
437
+ * @order 77
438
+ */
439
+
440
+ getMaxExposureCompensation(): number;
441
+ /** {zh}
442
+ * @detail api
443
+ * @group 方法
444
+ * @brief 设置当前使用的摄像头的曝光补偿。
445
+ * @return - =0:设置成功;
446
+ * - ≠0:设置失败。
447
+ * @notes - 必须已调用 [startVideoCapture](#VeLivePusher-startvideocapture) 使用 SDK 内部采集模块进行视频采集时,才能设置曝光补偿。
448
+ * - 调用 [stopVideoCapture](#VeLivePusher-stopvideocapture) 关闭内部采集后,设置的曝光补偿失效。
449
+ * @order 78
450
+ * @param value 曝光补偿值,取值范围 [[getMinExposureCompensation](#VeLiveCameraDevice-getminexposurecompensation),[getMaxExposureCompensation](#VeLiveCameraDevice-getmaxexposurecompensation)],0 为系统默认值,表示没有曝光补偿。
451
+ */
452
+
453
+ setExposureCompensation(value: number): number;
454
+ /** {zh}
455
+ * @platform ios
456
+ * @detail api
457
+ * @group 方法
458
+ * @brief 是否支持闪光灯。
459
+ * @return <br>
460
+ * - YES:支持;
461
+ * - NO:不支持。
462
+ * @notes <br>需要在调用 {@link #VeLivePusher#startVideoCapture startVideoCapture:} 启动相机采集后,调用本方法。
463
+ * @order 49
464
+ */
465
+
466
+ ios_isTorchSupported(): boolean;
467
+ }
468
+ /** {zh}
469
+ * @detail api
470
+ * @list overview
471
+ * @brief 视频特效管理对象。用于管理和设置视频特效,包括美颜、美形、美体、美妆、滤镜等。
472
+ */
473
+
474
+ export declare class VeLiveVideoEffectManager {
475
+ protected _instance: any;
476
+ protected __init(...args: any[]): void;
477
+ protected __new_instance(...args: any[]): $p_a.VeLiveVideoEffectManager | $p_i.VeLiveVideoEffectManager;
478
+ /** {zh}
479
+ * @detail api
480
+ * @group 方法
481
+ * @brief 视频特效许可证配置,用于初始化视频特效管理对象。
482
+ * @return <br>
483
+ * - 0:调用成功;
484
+ * - -1:调用失败。
485
+ * @order 89
486
+ * @param config 特效初始化配置,详情请参见 [VeLiveVideoEffectLicenseConfiguration](147521#VeLiveVideoEffectLicenseConfiguration)。
487
+ */
488
+
489
+ setupWithConfig(config: VeLiveVideoEffectLicenseConfiguration): number;
490
+ /** {zh}
491
+ * @detail api
492
+ * @group 方法
493
+ * @brief 更新在线 License。本方法仅对在线 License 有效。
494
+ * @notes - 需要通过调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 设置视频特效许可证后调用;
495
+ * - 如果您使用在线 License 认证方式,在许可证过期后,可调用该方法更新 License;
496
+ * - 本方法为异步操作。
497
+ * @order 90
498
+ * @param callback 结果回调信息
499
+ */
500
+
501
+ updateLicense(callback: (result: number, message: string) => void): void;
502
+ /** {zh}
503
+ * @detail api
504
+ * @group 方法
505
+ * @brief 创建/销毁特效引擎。
506
+ * @return <br>
507
+ * - 0:成功;
508
+ * - -1:失败。
509
+ * @notes <br>
510
+ * - 该方法需要在调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 和 [setAlgorithmModelPath](#VeLiveVideoEffectManager-setalgorithmmodelpath) 后调用;
511
+ * - 该方法不直接开启/关闭视频特效,您需要在调用该方法后,调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 开启视频特效;
512
+ * - 通用场景下,特效引擎会随 EffectManager 销毁而销毁。如果您对性能有较高要求,也可以在不使用特效相关功能时,调用该方法销毁特效引擎;
513
+ * - 如果重复创建/销毁特效引擎,会产生时间消耗。
514
+ * @order 92
515
+ * @param enable 是否创建特效引擎。默认为 false。 <br>
516
+ * - true:创建;
517
+ * - false:销毁。
518
+ * @param callback 视频特效回调 [VeLiveVideoEffectCallback](147519#velivevideoeffectcallback)。
519
+ */
520
+
521
+ setEnable(enable: boolean, callback: (result: number, msg: string) => void): void;
522
+ /** {zh}
523
+ * @platform android
524
+ * @detail api
525
+ * @group 方法
526
+ * @brief 设置特效算法模型包的路径。
527
+ * @return <br>
528
+ * - 0:调用成功;
529
+ * - -1:调用失败。
530
+ * @notes <br>需要通过调用 [setupWithConfig](#VeLiveVideoEffectManager-setupwithconfig) 设置视频特效许可证后调用。
531
+ * @order 91
532
+ * @param path 特效算法模型包的路径
533
+ */
534
+
535
+ android_setAlgorithmModelPath(path: string): number;
536
+ /** {zh}
537
+ * @detail api
538
+ * @group 方法
539
+ * @brief 设置视频特效组合。支持设置 ComposeMakeup.bundle 中的功能,包括美颜、美形、美体、美妆等。
540
+ * @return <br>
541
+ * - 0:调用成功;
542
+ * - -1:调用失败。
543
+ * @notes <br>
544
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法;
545
+ * - 重复调用本方法,仅最后一次调用生效;
546
+ * - 如果需要在当前的视频特效组合中叠加特效,可调用 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 方法。
547
+ * @order 93
548
+ * @param nodes 视频特效素材包路径数组
549
+ */
550
+
551
+ setComposeNodes(nodes: string[]): number;
552
+ /** {zh}
553
+ * @detail api
554
+ * @group 方法
555
+ * @brief 在已有的视频特效组合上,叠加视频特效素材包。
556
+ * @return <br>
557
+ * - 0:调用成功;
558
+ * - -1:调用失败。
559
+ * @notes <br>
560
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法。
561
+ * - 调用本方法,会在 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 设置的视频特效组合的基础上叠加特效。
562
+ * @order 94
563
+ * @param nodes 视频特效素材包路径数组
564
+ */
565
+
566
+ appendComposeNodes(nodes: string[]): number;
567
+ /** {zh}
568
+ * @detail api
569
+ * @group 方法
570
+ * @brief 移除指定的视频特效资源。
571
+ * @return <br>
572
+ * - 0:调用成功;
573
+ * - -1:调用失败。
574
+ * @notes <br>
575
+ * - 需要在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 创建特效引擎后,调用本方法。
576
+ * - 调用本方法,可移除调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 和 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 设置的视频特效资源。
577
+ * @order 94
578
+ * @param nodes 视频特效素材包路径数组
579
+ */
580
+
581
+ removeComposeNodes(nodes: string[]): number;
582
+ /** {zh}
583
+ * @detail api
584
+ * @group 方法
585
+ * @brief 设置视频特效强度。
586
+ * @return <br>
587
+ * - 0:调用成功;
588
+ * - -1:调用失败。
589
+ * @notes <br>
590
+ * - 需要在调用 [setComposeNodes](#VeLiveVideoEffectManager-setcomposenodes) 设置视频特效组合或调用 [appendComposeNodes](#VeLiveVideoEffectManager-appendcomposenodes) 叠加视频特效素材包后,调用本方法;
591
+ * - 该方法仅适用于同时含有上述三个参数的特效资源,对于没有强度参数的特效(如贴纸),该方法无效。
592
+ * @order 95
593
+ * @param node 视频特效素材包路径
594
+ * @param key 需要设置的素材 key 名称
595
+ * @param intensity 需要设置的强度值。取值范围为 [0.0,1.0]
596
+ */
597
+
598
+ updateComposerNodeIntensity(node: string, key: string, intensity: number): number;
599
+ /** {zh}
600
+ * @detail api
601
+ * @group 方法
602
+ * @brief 设置颜色滤镜。
603
+ * @return <br>
604
+ * - 0:调用成功;
605
+ * - -1:调用失败。
606
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法。
607
+ * @order 96
608
+ * @param path 滤镜资源包绝对路径
609
+ */
610
+
611
+ setFilter(path: string): number;
612
+ /** {zh}
613
+ * @detail api
614
+ * @group 方法
615
+ * @brief 设置已启用的颜色滤镜强度。
616
+ * @return <br>
617
+ * - 0:调用成功;
618
+ * - -1:调用失败。
619
+ * @notes <br>请在调用 [setFilter](#VeLiveVideoEffectManager-setfilter) 设置颜色滤镜后调用。
620
+ * @order 97
621
+ * @param intensity 滤镜强度,取值范围为 [0.0,1.0]。
622
+ */
623
+
624
+ updateFilterIntensity(intensity: number): number;
625
+ /** {zh}
626
+ * @detail api
627
+ * @group 方法
628
+ * @brief 设置贴纸特效。
629
+ * @return <br>
630
+ * - 0:调用成功;
631
+ * - -1:调用失败。
632
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法。
633
+ * @order 98
634
+ * @param path 贴纸素材包的绝对路径
635
+ */
636
+
637
+ setSticker(path: string): number;
638
+ /** {zh}
639
+ * @detail api
640
+ * @group 方法
641
+ * @brief CV 高级接口。
642
+ * @notes <br>请在调用 [setEnable](#VeLiveVideoEffectManager-setenable) 开启视频特效后,调用该方法,不要在主线程中频繁执行同步操作。
643
+ * @order 99
644
+ * @param callback 回调 CV 的 handle。
645
+ * @param isGLThread 是否在 GL 线程回调 callback。
646
+ * @param isAsync 是否同步执行 callback。
647
+ */
648
+
649
+ setAdvancedFeature(callback: (handle: void) => void, isGLThread: boolean, isAsync: boolean): void;
650
+ /** {zh}
651
+ * @platform ios
652
+ * @detail api
653
+ * @group 方法
654
+ * @brief 设置特效算法模型包的路径。
655
+ * @return <br>
656
+ * - 0:调用成功;
657
+ * - -1:调用失败。
658
+ * @notes <br>
659
+ * 需要通过调用 {@link #VeLiveVideoEffectManager#setupWithConfig setupWithConfig:} 设置视频特效许可证后调用。
660
+ * @order 77
661
+ * @param path 特效算法模型包的路径。
662
+ */
663
+
664
+ ios_setAlgoModelPath(path: string): number;
665
+ }
666
+ /** {zh}
667
+ * @detail api
668
+ * @list overview
669
+ * @brief 直播推流器。
670
+ */
671
+
672
+ export declare class VeLivePusher {
673
+ /** {zh}
674
+ * @detail api
675
+ * @group 方法
676
+ * @brief 设置输出到控制台的日志等级。
677
+ * @order 60
678
+ * @param logLevel 输出的日志级别。级别详情请参见 [VeLivePusherLogLevel](147521#VeLivePusherLogLevel)。
679
+ */
680
+
681
+ static setLogLevel(logLevel: VeLivePusherLogLevel): void;
682
+ /** {zh}
683
+ * @platform android
684
+ * @detail api
685
+ * @group 方法
686
+ * @brief 设置 OpenGL 的版本号,默认值为 `3`。
687
+ * @param version OpenGL 版本号,支持的取值包括 `2` 和 `3`,分别对应 OpenGL 2.0 和 3.0 版本。
688
+ * @order 62
689
+ */
690
+
691
+ static android_setEGLVersion(version: number): void;
692
+ /** {zh}
693
+ * @platform android
694
+ * @detail api
695
+ * @group 方法
696
+ * @brief 设置 OpenGL 的上下文。
697
+ * @order 61
698
+ * @param context OpenGL 上下文。
699
+ */
700
+
701
+ static android_setEGLContext(context: unknown): void;
702
+ /** {zh}
703
+ * @platform android
704
+ * @detail api
705
+ * @group 方法
706
+ * @brief 获取 OpenGL 的上下文。
707
+ * @return <br>
708
+ * 当前 OpenGL 的上下文。
709
+ * @order 63
710
+ */
711
+
712
+ static android_getEGLContext(): unknown;
713
+ protected _instance: any;
714
+ protected __init(...args: any[]): void;
715
+ protected __new_instance(...args: any[]): $p_a.VeLivePusher | $p_i.VeLivePusher;
716
+ /** {zh}
717
+ * @detail api
718
+ * @group 方法
719
+ * @brief 停止采集和推流,并销毁推流器。通常在调用 [stopPush](#VeLivePusher-stoppush) 结束推流后调用此方法进行清理。
720
+ * @order 13
721
+ */
722
+
723
+ destroy(): void;
724
+ /** {zh}
725
+ * @detail api
726
+ * @group 方法
727
+ * @brief 设置推流器回调,通过设置回调,监听推流器的推流错误、状态、网络质量、设备、首帧等回调事件。
728
+ * @notes <br>
729
+ * - 需要在创建推流引擎后,调用本方法;
730
+ * - 重复调用本方法,仅最后一次调用生效。
731
+ * @order 14
732
+ * @param observer 推流器回调对象,详细信息请参见 [VeLivePusherObserver](147519#VeLivePusherObserver)。
733
+ */
734
+
735
+ setObserver(observer: VeLivePusherObserver): void;
736
+ /** {zh}
737
+ * @detail api
738
+ * @group 方法
739
+ * @brief 设置推流器周期性回调,用于定期获取推流状态信息。
740
+ * @notes <br>
741
+ * - 需要在创建推流引擎后,调用本方法;
742
+ * - 重复调用本方法,仅最后一次调用生效。
743
+ * @order 15
744
+ * @param observer 推流器周期性回调对象,详细信息请参见 [VeLivePusherStatisticsObserver](147519#VeLivePusherStatisticsObserver)。
745
+ * @param interval 周期性回调的时间间隔,单位为 s,默认值为 5。
746
+ */
747
+
748
+ setStatisticsObserver(observer: VeLivePusherStatisticsObserver, interval: number): void;
749
+ /** {zh}
750
+ * @detail api
751
+ * @group 方法
752
+ * @brief 设置本地摄像头预览视图。摄像头采集到的画面,经过美颜、脸形调整、滤镜等多种效果叠加之后,最终会显示到传入的 View 上。
753
+ * @param view 摄像头预览视图
754
+ * @order 16
755
+ */
756
+
757
+ setRenderView(view: View): Promise<void>;
758
+ /** {zh}
759
+ * @detail api
760
+ * @group 方法
761
+ * @brief 设置本地预览画面的填充模式。
762
+ * @param mode 填充模式。
763
+ */
764
+
765
+ setRenderFillMode(mode: VeLivePusherRenderMode): void;
766
+ /** {zh}
767
+ * @detail api
768
+ * @group 方法
769
+ * @brief 开启/关闭镜像。
770
+ * @notes <br>
771
+ * 用于配置视频镜像效果,影响采集、预览和推流画面。
772
+ * @order 17
773
+ * @param type 镜像类型,详细信息请参见 [VeLiveVideoMirrorType](147521#VeLiveVideoMirrorType)。
774
+ * @param mirror 是否开启镜像。
775
+ * - true:开启;
776
+ * - false:关闭。
777
+ */
778
+
779
+ setVideoMirror(type: VeLiveVideoMirrorType, mirror: boolean): void;
780
+ /** {zh}
781
+ * @detail api
782
+ * @group 方法
783
+ * @brief 开始视频采集。
784
+ * @notes <br>调用该接口后,可以通过调用接口 [stopVideoCapture](#VeLivePusher-stopvideocapture) 停止视频采集。
785
+ * @order 18
786
+ * @param type 视频采集类型,详细信息请参见 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType}
787
+ *
788
+ */
789
+
790
+ startVideoCapture(type: VeLiveVideoCaptureType): void;
791
+ /** {zh}
792
+ * @detail api
793
+ * @group 方法
794
+ * @brief 停止视频采集。
795
+ * @notes <br>调用该接口后,可以通过调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 开始视频采集。
796
+ * @order 19
797
+ */
798
+
799
+ stopVideoCapture(): void;
800
+ /** {zh}
801
+ * @detail api
802
+ * @group 方法
803
+ * @brief 开始音频采集。
804
+ * @notes <br>调用该接口后,可以通过调用接口 [stopAudioCapture](#VeLivePusher-stopaudiocapture) 停止音频采集。
805
+ * @order 20
806
+ * @param type 音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
807
+ */
808
+
809
+ startAudioCapture(type: VeLiveAudioCaptureType): void;
810
+ /** {zh}
811
+ * @detail api
812
+ * @group 方法
813
+ * @brief 停止音频采集。
814
+ * @notes <br>调用该接口后,可以通过调用接口 [startAudioCapture](#VeLivePusher-startaudiocapture) 开始音频采集。
815
+ * @order 21
816
+ */
817
+
818
+ stopAudioCapture(): void;
819
+ /** {zh}
820
+ * @detail api
821
+ * @group 方法
822
+ * @brief 切换视频采集类型。
823
+ * @notes <br>该接口必须在调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 后调用才能生效。
824
+ * @order 22
825
+ * @param type 视频采集类型,详细信息请参见 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType)。
826
+ */
827
+
828
+ switchVideoCapture(type: VeLiveVideoCaptureType): void;
829
+ /** {zh}
830
+ * @detail api
831
+ * @group 方法
832
+ * @brief 切换音频采集类型。
833
+ * @notes <br>该接口必须在调用接口 [startVideoCapture](#VeLivePusher-startvideocapture) 后调用才能生效。
834
+ * @order 23
835
+ * @param type 音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
836
+ */
837
+
838
+ switchAudioCapture(type: VeLiveAudioCaptureType): void;
839
+ /** {zh}
840
+ * @detail api
841
+ * @group 方法
842
+ * @brief 获取当前视频采集类型。
843
+ * @return <br>视频采集类型,详细信息请参见 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType)。
844
+ * @order 24
845
+ */
846
+
847
+ getCurrentVideoCaptureType(): VeLiveVideoCaptureType;
848
+ /** {zh}
849
+ * @detail api
850
+ * @group 方法
851
+ * @brief 获取当前音频采集类型。
852
+ * @return <br>音频采集类型,详细信息请参见 [VeLiveAudioCaptureType](147521#VeLiveAudioCaptureType)。
853
+ * @order 25
854
+ */
855
+
856
+ getCurrentAudioCaptureType(): VeLiveAudioCaptureType;
857
+ /** {zh}
858
+ * @detail api
859
+ * @group 方法
860
+ * @brief 自定义静态图,适用于静态图推流采集类型。
861
+ * @notes <br>使用该接口时,需要将视频采集类型设置为 VeLiveVideoCaptureCustomImage,您可调用 [startVideoCapture](#VeLivePusher-startvideocapture) 方法,将 [VeLiveVideoCaptureType](147521#VeLiveVideoCaptureType) 设置为 VeLiveVideoCaptureCustomImage。
862
+ * @order 26
863
+ * @param image 静态图片,用于在静态图推流采集类型下设置静态图。
864
+ */
865
+
866
+ updateCustomImage(image: any): Promise<void>;
867
+ /** {zh}
868
+ * @detail api
869
+ * @group 方法
870
+ * @brief 获取相机设备管理对象 `VeLiveCameraDevice`。通过设备管理,您可以使用以下功能。
871
+ * - 控制闪光灯开关
872
+ * - 设置摄像头缩放比例
873
+ * - 设置自动对焦
874
+ * @return <br>
875
+ * 相机设备管理对象 {@link #VeLiveCameraDevice VeLiveCameraDevice}。
876
+ * @notes <br>
877
+ * 该接口需要在 {@link #startVideoCapture startVideoCapture} 方法中设置 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType} 为 VeLiveVideoCaptureFrontCamera 或 VeLiveVideoCaptureBackCamera。
878
+ * @order 27
879
+ */
880
+
881
+ getCameraDevice(): VeLiveCameraDevice;
882
+ /** {zh}
883
+ * @detail api
884
+ * @group 方法
885
+ * @brief 设置推流视频编码参数。
886
+ * @notes 该接口可在推流开始前或开始后调用。
887
+ * @order 28
888
+ * @param config 推流视频参数,支持设置推流视频分辨率、编码格式、目标码率和视频 GOP 大小等信息。详情请参见 {@link #VeLiveVideoEncoderConfiguration VeLiveVideoEncoderConfiguration}
889
+ */
890
+
891
+ setVideoEncoderConfiguration(config: VeLiveVideoEncoderConfiguration): void;
892
+ /** {zh}
893
+ * @platform android
894
+ * @detail api
895
+ * @group 方法
896
+ * @brief 获取推流视频编码参数。
897
+ * @return <br>
898
+ * 推流视频参数,支持设置推流视频分辨率、编码格式、目标码率和视频 GOP 大小等信息。详情请参见 {@link #VeLiveVideoEncoderConfiguration VeLiveVideoEncoderConfiguration}
899
+ * @order 29
900
+ */
901
+
902
+ android_getVideoEncoderConfiguration(): VeLiveVideoEncoderConfiguration;
903
+ /** {zh}
904
+ * @detail api
905
+ * @group 方法
906
+ * @brief 设置推流音频编码参数。
907
+ * @notes <br>该接口需要在 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法之前调用。
908
+ * @order 30
909
+ * @param config 推流音频编码参数,详情请参见 [VeLiveAudioEncoderConfiguration](147521#VeLiveAudioEncoderConfiguration)。
910
+ */
911
+
912
+ setAudioEncoderConfiguration(config: VeLiveAudioEncoderConfiguration): void;
913
+ /** {zh}
914
+ * @platform android
915
+ * @detail api
916
+ * @group 方法
917
+ * @brief 获取推流音频编码参数。
918
+ * @return <br>推流音频编码参数,详情请参见 [VeLiveAudioEncoderConfiguration](147521#VeLiveAudioEncoderConfiguration)。
919
+ * @order 31
920
+ */
921
+
922
+ android_getAudioEncoderConfiguration(): VeLiveAudioEncoderConfiguration;
923
+ /** {zh}
924
+ * @detail api
925
+ * @group 方法
926
+ * @brief 开始推流。
927
+ * @order 32
928
+ * @param url 推流地址,用于将直播流推送到目标服务器。
929
+ */
930
+
931
+ startPush(url: string): void;
932
+ /** {zh}
933
+ * @detail api
934
+ * @group 方法
935
+ * @brief 开始推流,支持备用推流地址。
936
+ * @notes <br>
937
+ * 当主推流地址不可用时,会自动切换到备用推流地址继续推流。
938
+ * @order 33
939
+ * @param urls 推流地址列表,包含一个或多个推流地址。
940
+ */
941
+
942
+ startPushWithUrls(urls: string[]): void;
943
+ /** {zh}
944
+ * @detail api
945
+ * @group 方法
946
+ * @brief 停止推流。
947
+ * @notes <br>停止推流后,可以通过调用 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法重新开始推流。
948
+ * @order 34
949
+ */
950
+
951
+ stopPush(): void;
952
+ /** {zh}
953
+ * @detail api
954
+ * @group 方法
955
+ * @brief 当前是否正在推流中,可用来查询推流器的当前状态。
956
+ * @return <br>
957
+ * 是否正在推流。
958
+ * - true:正在推流中;
959
+ * - false:已经停止推流。
960
+ * @order 35
961
+ */
962
+
963
+ isPushing(): boolean;
964
+ /** {zh}
965
+ * @detail api
966
+ * @group 方法
967
+ * @brief 设置推流水印。
968
+ * @return <br>
969
+ * - 0:水印设置成功;
970
+ * - <0:水印设置失败。
971
+ * @order 36
972
+ * @param image 水印图片。取值为 null 时,表示禁用水印。
973
+ * @param x 水印的水平偏移量,即水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0.0,1.0]。
974
+ * @param y 水印的垂直偏移量,即水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0.0,1.0]。
975
+ * @param scale 水印图片的缩放比例,取值范围为 [0.0,1.0]。
976
+ */
977
+
978
+ setWatermark(image: any, x: number, y: number, scale: number): Promise<number>;
979
+ /** {zh}
980
+ * @detail api
981
+ * @group 方法
982
+ * @brief 开始本地文件录制。
983
+ * @order 37
984
+ * @param path 录制文件保存路径,不能为空。
985
+ * @param config 文件录制设置,详情请参见 [VeLiveFileRecorderConfiguration](147521#VeLiveFileRecorderConfiguration)。
986
+ * @param listener 本地文件录制的监听,详情请参见 [VeLiveFileRecordingListener](147519#VeLiveFileRecordingListener) 。
987
+ */
988
+
989
+ startFileRecording(path: string, config: VeLiveFileRecorderConfiguration, listener: VeLiveFileRecordingListener): void;
990
+ /** {zh}
991
+ * @detail api
992
+ * @group 方法
993
+ * @brief 停止本地文件录制。
994
+ * @notes <br>该接口需要在 [startFileRecording](#VeLivePusher-startfilerecording) 方法之后调用。
995
+ * @order 38
996
+ */
997
+
998
+ stopFileRecording(): void;
999
+ /** {zh}
1000
+ * @detail api
1001
+ * @group 方法
1002
+ * @brief 高级配置。
1003
+ * @return <br>
1004
+ * - 0:成功;
1005
+ * - -1:失败,参数错误。
1006
+ * @order 39
1007
+ * @param key 推流高级配置为 JSON 格式的字符串,此参数为 JSON 结构中的 Key。您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076),了解配置方法。
1008
+ * @param value 推流高级配置为 JSON 格式的字符串,此参数为 JSON 结构中的 Value。您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076),了解配置方法。
1009
+ */
1010
+
1011
+ setProperty(key: string, value: Object): number;
1012
+ /** {zh}
1013
+ * @detail api
1014
+ * @group 方法
1015
+ * @brief 推送外部视频帧数据。
1016
+ * @return <br>
1017
+ * - 0:成功;
1018
+ * - <0:失败。
1019
+ * @notes <br>
1020
+ * 调用该接口时,需要将视频采集类型设置为 VeLiveVideoCaptureExternal,您可调用 {@link #startVideoCapture startVideoCapture} 方法,将 {@link #VeLiveVideoCaptureType VeLiveVideoCaptureType} 设置为 VeLiveVideoCaptureExternal。
1021
+ * @order 40
1022
+ * @param frame 视频帧的数据信息,详情请参见 [VeLiveVideoFrame](147517#VeLiveVideoFrame)。
1023
+ */
1024
+
1025
+ pushExternalVideoFrame(frame: VeLiveVideoFrame): number;
1026
+ /** {zh}
1027
+ * @detail api
1028
+ * @group 方法
1029
+ * @brief 推送外部音频帧数据。
1030
+ * @return <br>
1031
+ * - 0:成功;
1032
+ * - <0:失败。
1033
+ * @notes <br>
1034
+ * 该接口需要在 {@link #startAudioCapture startAudioCapture} 方法中设置 {@link #VeLiveAudioCaptureType VeLiveAudioCaptureType} 为 VeLiveAudioCaptureExternal。
1035
+ * @order 41
1036
+ * @param frame 外部音频数据。详情请参见 [VeLiveAudioFrame](147517#VeLiveAudioFrame)。
1037
+ */
1038
+
1039
+ pushExternalAudioFrame(frame: VeLiveAudioFrame): number;
1040
+ /** {zh}
1041
+ * @detail api
1042
+ * @group 方法
1043
+ * @brief 设置推流视频帧朝向。默认为竖屏推流。
1044
+ * @order 42
1045
+ * @param orientation 视频帧朝向,详情请参见 [VeLiveOrientation](147521#VeLiveOrientation)。
1046
+ */
1047
+
1048
+ setOrientation(orientation: VeLiveOrientation): void;
1049
+ /** {zh}
1050
+ * @detail api
1051
+ * @group 方法
1052
+ * @brief 通过视频帧发送 SEI 消息。
1053
+ * @return <br>
1054
+ * - 0:成功;
1055
+ * - <0:失败。
1056
+ * @notes <br>该接口需要在调用 [startPush](#VeLivePusher-startpush) 或 [startPushWithUrls](#VeLivePusher-startpushwithurls) 方法之后调用。
1057
+ * @order 43
1058
+ * @param key SEI 消息为 JSON 格式的字符串。此参数为 JSON 结构中的 Key。
1059
+ * @param value SEI 消息为 JSON 格式的字符串。此参数为 JSON 结构中的 Value。
1060
+ * @param repeat 消息发送重复的次数。例如,`repeat` 取值为 20,`isKeyFrame` 取值为 YES,则会在视频帧开始的连续 20 个关键帧中添加 SEI 消息。
1061
+ * @param isKeyFrame 是否仅在关键帧中包含 SEI 消息。
1062
+ * - true:仅在关键帧中包含;
1063
+ * - false:所有帧中均包含。
1064
+ * @param allowsCovered 是否允许覆盖。
1065
+ * - true:允许;
1066
+ * - false:不允许。
1067
+ */
1068
+
1069
+ sendSeiMessage(key: string, value: Object, repeat: number, isKeyFrame: boolean, allowsCovered: boolean): number;
1070
+ /** {zh}
1071
+ * @detail api
1072
+ * @group 方法
1073
+ * @brief 设置静音。
1074
+ * @param mute 是否设置为静音。默认为正常推流。
1075
+ * - true:静音推流;
1076
+ * - false:正常推流。
1077
+ * @order 44
1078
+ */
1079
+
1080
+ setMute(mute: boolean): void;
1081
+ /** {zh}
1082
+ * @detail api
1083
+ * @group 方法
1084
+ * @brief 当前是否是静音状态。
1085
+ * @return <br>
1086
+ * - true:当前是静音状态;
1087
+ * - false:当前非静音状态。
1088
+ * @order 45
1089
+ */
1090
+
1091
+ isMute(): boolean;
1092
+ /** {zh}
1093
+ * @detail api
1094
+ * @group 方法
1095
+ * @brief 获取视频特效管理对象 `VeLiveVideoEffectManager`。通过视频特效管理,您可以使用以下功能。
1096
+ * - 设置美颜
1097
+ * - 设置特效
1098
+ * - 设置素材
1099
+ * - 设置贴图
1100
+ * - 设置滤镜
1101
+ * @return <br>
1102
+ * 视频特效管理对象 {@link #VeLiveVideoEffectManager VeLiveVideoEffectManager}。
1103
+ * @notes <br>
1104
+ * 该接口需要集成美颜特效 CV SDK 后才能使用。
1105
+ * @order 46
1106
+ */
1107
+
1108
+ getVideoEffectManager(): VeLiveVideoEffectManager;
1109
+ /** {zh}
1110
+ * @detail api
1111
+ * @group 方法
1112
+ * @brief 自定义视频处理。
1113
+ * @order 47
1114
+ * @param filter 视频数据处理回调,详情请参见 [VeLiveVideoFrameFilter](147519#VeLiveVideoFrameFilter)。
1115
+ */
1116
+
1117
+ setVideoFrameFilter(filter: VeLiveVideoFrameFilter): void;
1118
+ /** {zh}
1119
+ * @detail api
1120
+ * @group 方法
1121
+ * @brief 获取音频模块管理对象。
1122
+ * @return <br>
1123
+ * 音频模块管理对象 {@link #VeLiveAudioDevice VeLiveAudioDevice}。
1124
+ * @notes <br>
1125
+ * 该接口需要在 {@link #startAudioCapture startAudioCapture} 方法中设置 {@link #VeLiveAudioCaptureType VeLiveAudioCaptureType} 为 VeLiveAudioCaptureMicrophone。
1126
+ * @order 48
1127
+ */
1128
+
1129
+ getAudioDevice(): VeLiveAudioDevice;
1130
+ /** {zh}
1131
+ * @detail api
1132
+ * @group 方法
1133
+ * @brief 自定义音频处理。
1134
+ * @order 49
1135
+ * @param filter 音频帧滤镜对象 VeLiveAudioFrameFilter 。
1136
+ */
1137
+
1138
+ setAudioFrameFilter(filter: VeLiveAudioFrameFilter): void;
1139
+ /** {zh}
1140
+ * @detail api
1141
+ * @group 方法
1142
+ * @brief 创建播放器。
1143
+ * @return <br>
1144
+ * 播放器管理对象 {@link #VeLiveMediaPlayer VeLiveMediaPlayer}。
1145
+ * @order 50
1146
+ */
1147
+
1148
+ createPlayer(): VeLiveMediaPlayer;
1149
+ /** {zh}
1150
+ * @detail api
1151
+ * @group 方法
1152
+ * @brief 获取混流管理对象。
1153
+ * @return <br>
1154
+ * 混流管理对象 {@link #VeLiveMixerManager VeLiveMixerManager}。
1155
+ * @order 51
1156
+ */
1157
+
1158
+ getMixerManager(): VeLiveMixerManager;
1159
+ /** {zh}
1160
+ * @platform android
1161
+ * @detail api
1162
+ * @group 方法
1163
+ * @brief 开始屏幕采集。
1164
+ * @order 52
1165
+ * @param enableAppAudio 是否支持应用内音频数据,默认为 true,该参数暂不支持修改。
1166
+ * @param screenIntent 系统屏幕录制权限。
1167
+ */
1168
+
1169
+ android_startScreenRecording(enableAppAudio: boolean, screenIntent: $p_a.Intent): void;
1170
+ /** {zh}
1171
+ * @platform android
1172
+ * @detail api
1173
+ * @group 方法
1174
+ * @brief 停止屏幕采集。
1175
+ * @order 53
1176
+ */
1177
+
1178
+ android_stopScreenRecording(): void;
1179
+ /** {zh}
1180
+ * @platform android
1181
+ * @detail api
1182
+ * @group 方法
1183
+ * @brief 获取当前是否处于屏幕采集状态。
1184
+ * @order 54
1185
+ */
1186
+
1187
+ android_isScreenRecording(): boolean;
1188
+ /** {zh}
1189
+ * @detail api
1190
+ * @group 方法
1191
+ * @brief 添加视频帧的监听回调,用于获取推流器输出的视频帧。
1192
+ * @return <br>
1193
+ * - 0:成功;
1194
+ * - <0:失败。
1195
+ * @order 55
1196
+ * @param listener 视频帧的监听回调,详细信息请参见 [VeLiveVideoFrameListener](147519#VeLiveVideoFrameListener)。
1197
+ */
1198
+
1199
+ addVideoFrameListener(listener: VeLiveVideoFrameListener): number;
1200
+ /** {zh}
1201
+ * @detail api
1202
+ * @group 方法
1203
+ * @brief 移除已添加的视频帧监听回调。
1204
+ * @return <br>
1205
+ * - 0:成功;
1206
+ * - <0:失败。
1207
+ * @notes <br>
1208
+ * 如果没有添加过此监听回调或者监听回调已被移除,调用此方法将返回失败。
1209
+ * @order 56
1210
+ * @param listener 视频帧的监听回调,详细信息请参见 [VeLiveVideoFrameListener](147519#VeLiveVideoFrameListener)。
1211
+ */
1212
+
1213
+ removeVideoFrameListener(listener: VeLiveVideoFrameListener): number;
1214
+ /** {zh}
1215
+ * @detail api
1216
+ * @group 方法
1217
+ * @brief 添加音频帧的监听回调,用于获取推流器输出的音频帧。
1218
+ * @return <br>
1219
+ * - 0:成功;
1220
+ * - <0:失败。
1221
+ * @order 57
1222
+ * @param listener 音频帧监听回调,详细信息请参见 [VeLiveAudioFrameListener](147519#VeLiveAudioFrameListener)。
1223
+ */
1224
+
1225
+ addAudioFrameListener(listener: VeLiveAudioFrameListener): number;
1226
+ /** {zh}
1227
+ * @detail api
1228
+ * @group 方法
1229
+ * @brief 移除已添加的音频帧监听回调。
1230
+ * @return <br>
1231
+ * - 0:成功;
1232
+ * - <0:失败。
1233
+ * @notes <br>
1234
+ * 如果没有添加过此监听回调或者监听回调已被移除,调用此方法将返回失败。
1235
+ * @order 58
1236
+ * @param listener 音频帧的监听回调,详细信息请参见 [VeLiveAudioFrameListener](147519#VeLiveAudioFrameListener) 。
1237
+ */
1238
+
1239
+ removeAudioFrameListener(listener: VeLiveAudioFrameListener): number;
1240
+ /** {zh}
1241
+ * @detail api
1242
+ * @group 方法
1243
+ * @brief 视频截图。
1244
+ * @order 59
1245
+ * @param listener 截图监听对象,详情请参见 [VeLiveSnapshotListener](147519#VeLiveSnapshotListener)。
1246
+ */
1247
+
1248
+ snapshot(listener: VeLiveSnapshotListener): void;
1249
+ /** {zh}
1250
+ * @platform ios
1251
+ * @detail api
1252
+ * @group 方法
1253
+ * @brief 初始化推流器。
1254
+ * @order 0
1255
+ * @param config 推流配置类。详细信息请参见 [VeLivePusherConfiguration](155321#VeLivePusherConfiguration)。
1256
+ */
1257
+
1258
+ ios_initWithConfig(config: VeLivePusherConfiguration): this;
1259
+ /** {zh}
1260
+ * @platform ios
1261
+ * @detail api
1262
+ * @group 方法
1263
+ * @brief 添加屏幕采集的监听。
1264
+ * @return <br>
1265
+ * - 0:成功;
1266
+ * - <0:失败。
1267
+ * @notes <br>
1268
+ * 如果没有添加过此监听回调或者监听回调已被移除,调用此方法将返回失败。
1269
+ * @param listener 屏幕采集事件监听回调,详细信息请参见 {@link #VeLiveScreenCaptureStatusObserver VeLiveScreenCaptureStatusObserver}
1270
+ * @param observer 录屏推流事件监听器。详情见 [VeLiveScreenCaptureStatusObserver](155319#VeLiveScreenCaptureStatusObserver)。
1271
+ */
1272
+
1273
+ ios_setScreenCaptureObserver(observer: $p_i.id<$p_i.VeLiveScreenCaptureStatusObserver>): number;
1274
+ /** {zh}
1275
+ * @platform ios
1276
+ * @detail api
1277
+ * @group 方法
1278
+ * @brief 推送外部视频编码数据。
1279
+ * @return <br>
1280
+ * - 0:成功;
1281
+ * - <0:失败。
1282
+ * @notes <br>该接口需要在 {@link #VeLivePusher#startVideoCapture startVideoCapture:} 方法中设置 [VeLiveVideoCaptureType](155321#VeLiveVideoCaptureType) 为 VeLiveVideoCaptureFrontCamera 或 VeLiveVideoCaptureExternal。
1283
+ * @order 44
1284
+ * @param encodeFrame 视频编码帧的数据信息,详情请参见 [VeLiveVideoEncodeFrame](155321#VeLiveVideoEncodeFrame)。
1285
+ */
1286
+
1287
+ ios_pushExternalVideoEncodeFrame(encodeFrame: VeLiveVideoEncodeFrame): number;
1288
+ /** {zh}
1289
+ * @platform ios
1290
+ * @detail api
1291
+ * @group 方法
1292
+ * @brief 强制请求 IDR 帧,发起请求以编码一个新的 IDR 帧。
1293
+ * @notes <br>
1294
+ * 该接口需要在调用 {@link #VeLivePusher#startPush startPush:} 或 {@link #VeLivePusher#startPushWithUrls startPushWithUrls:} 方法之后调用。
1295
+ * @order 47
1296
+ */
1297
+
1298
+ ios_requestIDRFrame(): void;
1299
+ /** {zh}
1300
+ * @platform ios
1301
+ * @detail api
1302
+ * @group 方法
1303
+ * @brief 设置 opengl 的版本号,默认值为 `3`。
1304
+ * @param version opengl 版本号,支持的取值包括 `2` 和 `3`,分别对应 OpenGL 2.0 和 3.0 版本。
1305
+ * @order 45
1306
+ */
1307
+
1308
+ ios_setEGLVersion(version: number): void;
1309
+ /** {zh}
1310
+ * @platform ios
1311
+ * @detail api
1312
+ * @group 方法
1313
+ * @brief 获取 EAGL 的上下文,这是在多线程环境下用于共享的上下文。
1314
+ * @return <br>
1315
+ * EAGL 的上下文。
1316
+ * @order 46
1317
+ */
1318
+
1319
+ ios_getEGLContext(): $p_i.EAGLContext;
1320
+ }
1321
+ /**
1322
+ * @hidden
1323
+ */
1324
+ export declare class Parameter extends $p_a.Parameter {
1325
+ }
1326
+ /** {zh}
1327
+ * @detail api
1328
+ * @list overview
1329
+ * @brief 音视频混流器管理对象。支持添加/移除音视频流、发送自定义音视频帧、更新混流布局等。
1330
+ */
1331
+
1332
+ export declare class VeLiveMixerManager {
1333
+ protected _instance: any;
1334
+ protected __init(...args: any[]): void;
1335
+ protected __new_instance(...args: any[]): $p_a.VeLiveMixerManager | $p_i.VeLiveMixerManager;
1336
+ /** {zh}
1337
+ * @detail api
1338
+ * @group 方法
1339
+ * @brief 添加一路需要混流的视频流到混流器中。
1340
+ * @return <br>
1341
+ * 视频流 ID。
1342
+ * @order 79
1343
+ */
1344
+
1345
+ addVideoStream(): number;
1346
+ /** {zh}
1347
+ * @detail api
1348
+ * @group 方法
1349
+ * @brief 获取主路视频流 ID。
1350
+ * @order 83
1351
+ */
1352
+
1353
+ getOriginVideoStream(): number;
1354
+ /** {zh}
1355
+ * @detail api
1356
+ * @group 方法
1357
+ * @brief 获取主路音频流 ID。
1358
+ * @order 84
1359
+ */
1360
+
1361
+ getOriginAudioStream(): number;
1362
+ /** {zh}
1363
+ * @platform android
1364
+ * @detail api
1365
+ * @group 方法
1366
+ * @brief 获取主路屏幕流 ID。
1367
+ * @order 85
1368
+ */
1369
+
1370
+ android_getOriginScreenStream(): number;
1371
+ /** {zh}
1372
+ * @platform android
1373
+ * @detail api
1374
+ * @group 方法
1375
+ * @brief 获取主路系统音频流 ID。
1376
+ * @order 86
1377
+ */
1378
+
1379
+ android_getOriginSystemAudioStream(): number;
1380
+ /** {zh}
1381
+ * @detail api
1382
+ * @group 方法
1383
+ * @brief 发送指定混流 ID 的自定义视频帧数据。
1384
+ * @order 87
1385
+ * @param frame 自定义的视频帧,详情请参见 [VeLiveVideoFrame](147517#VeLiveVideoFrame) 。
1386
+ * @param streamId 需要混流的视频流 ID。
1387
+ */
1388
+
1389
+ sendCustomVideoFrame(frame: VeLiveVideoFrame, streamId: number): void;
1390
+ /** {zh}
1391
+ * @detail api
1392
+ * @group 方法
1393
+ * @brief 发送指定混流 ID 的自定义音频帧数据。
1394
+ * @order 88
1395
+ * @param frame 自定义的音频帧,详情请参见 [VeLiveAudioFrame](147517#VeLiveAudioFrame) 。
1396
+ * @param streamId 混流的音频流 ID。
1397
+ */
1398
+
1399
+ sendCustomAudioFrame(frame: VeLiveAudioFrame, streamId: number): void;
1400
+ /** {zh}
1401
+ * @detail api
1402
+ * @group 方法
1403
+ * @brief 更新音视频混流的布局。
1404
+ * @param mixDescription 新的音视频混流布局,详情请参见 [VeLiveStreamMixDescription](147521#VeLiveStreamMixDescription)。
1405
+ */
1406
+
1407
+ updateStreamMixDescription(mixDescription: VeLiveStreamMixDescription): void;
1408
+ /** {zh}
1409
+ * @detail api
1410
+ * @group 方法
1411
+ * @brief 从混流器中移除一路非主路的视频流。
1412
+ * @order 80
1413
+ * @param streamId 需要移除的非主路视频流 ID。
1414
+ */
1415
+
1416
+ removeVideoStream(streamId: number): void;
1417
+ /** {zh}
1418
+ * @detail api
1419
+ * @group 方法
1420
+ * @brief 从混流器中移除一路非主路的音频流。
1421
+ * @order 82
1422
+ * @param streamId 需要移除的非主路音频流 ID。
1423
+ */
1424
+
1425
+ removeAudioStream(streamId: number): void;
1426
+ /** {zh}
1427
+ * @platform ios
1428
+ * @detail api
1429
+ * @group 方法
1430
+ * @brief 设置指定混流音频的音量。当你将 {@link #VeLiveAudioMixType VeLiveAudioMixType} 设置为 `VeLiveAudioMixPlayAndPush` 时,该方法同时控制该路音频在拉流端和本地的播放音量。
1431
+ * @order 70
1432
+ * @param streamId 非主路音频流 ID。
1433
+ * @param volume 音量大小,范围为 [0.0,4.0]。
1434
+ */
1435
+
1436
+ ios_setAudioStream(streamId: number, volume: number): void;
1437
+ /** {zh}
1438
+ * @platform ios
1439
+ * @detail api
1440
+ * @group 方法
1441
+ * @brief 获取屏幕推流App音频流 ID。
1442
+ */
1443
+
1444
+ ios_getAppAudioStream(): number;
1445
+ }
1446
+ /** {zh}
1447
+ * @detail api
1448
+ * @list overview
1449
+ * @brief 媒体播放器对象。
1450
+ */
1451
+
1452
+ export declare class VeLiveMediaPlayer {
1453
+ protected _instance: any;
1454
+ protected __init(...args: any[]): void;
1455
+ protected __new_instance(...args: any[]): $p_a.VeLiveMediaPlayer | $p_i.VeLiveMediaPlayer;
1456
+ /** {zh}
1457
+ * @detail api
1458
+ * @group 方法
1459
+ * @brief 销毁播放器实例。
1460
+ * @order 100
1461
+ */
1462
+
1463
+ destroy(): void;
1464
+ /** {zh}
1465
+ * @detail api
1466
+ * @group 方法
1467
+ * @brief 设置播放状态的监听。
1468
+ * @notes <br>
1469
+ * 重复调用本方法,仅最后一次调用生效。
1470
+ * @order 101
1471
+ * @param listener 播放状态监听。详情请参见 [VeLiveMediaPlayerListener](147519#VeLiveMediaPlayerListener)。
1472
+ */
1473
+
1474
+ setListener(listener: VeLiveMediaPlayerListener): void;
1475
+ /** {zh}
1476
+ * @detail api
1477
+ * @group 方法
1478
+ * @brief 设置文件路径。支持的文件格式包括 MP3、AAC、M4A、WAV。
1479
+ * @return <br>
1480
+ * - 0:成功;
1481
+ * - ≠0:失败。
1482
+ * @order 102
1483
+ * @param url 文件路径。
1484
+ */
1485
+
1486
+ prepare(url: string): number;
1487
+ /** {zh}
1488
+ * @detail api
1489
+ * @group 方法
1490
+ * @brief 暂停播放。
1491
+ * @notes <br>
1492
+ * 需要在调用 {@link #start start} 开始播放后,调用本方法。
1493
+ * @order 103
1494
+ */
1495
+
1496
+ start(): Promise<number>;
1497
+ /** {zh}
1498
+ * @detail api
1499
+ * @group 方法
1500
+ * @brief 停止播放。
1501
+ * @return <br>
1502
+ * - 0:成功;
1503
+ * - ≠0:失败。
1504
+ * @notes <br>
1505
+ * 需要在调用 {@link #start start} 开始播放后,调用本方法。
1506
+ * @order 104
1507
+ */
1508
+
1509
+ stop(): Promise<number>;
1510
+ /** {zh}
1511
+ * @detail api
1512
+ * @group 方法
1513
+ * @brief 暂停播放。
1514
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start)[start](#VeLiveMediaPlayer-start) 开始播放后,调用本方法。
1515
+ * @order 105
1516
+ */
1517
+
1518
+ pause(): Promise<void>;
1519
+ /** {zh}
1520
+ * @detail api
1521
+ * @group 方法
1522
+ * @brief 恢复播放。
1523
+ * @notes <br>需要在调用 [pause](#VeLiveMediaPlayer-pause) 暂停播放后,调用本方法。
1524
+ * @order 106
1525
+ */
1526
+
1527
+ resume(): Promise<void>;
1528
+ /** {zh}
1529
+ * @detail api
1530
+ * @group 方法
1531
+ * @brief 获取文件的总时长,单位为 ms。
1532
+ * @return <br>
1533
+ * - \\\\>0:成功,音频文件时长;
1534
+ * - ≤0:失败。
1535
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start) 开始播放后,调用本方法。
1536
+ * @order 107
1537
+ */
1538
+
1539
+ getDuration(): number;
1540
+ /** {zh}
1541
+ * @detail api
1542
+ * @group 方法
1543
+ * @brief 设置播放进度。
1544
+ * @return <br>
1545
+ * - 0:成功;
1546
+ * - ≠0:失败。
1547
+ * @order 108
1548
+ * @param posMs 播放时间,单位为 ms。
1549
+ */
1550
+
1551
+ seek(posMs: number): number;
1552
+ /** {zh}
1553
+ * @detail api
1554
+ * @group 方法
1555
+ * @brief 开启/关闭音频是否混音到直播流。
1556
+ * @param enable 开启/关闭,默认为 false。 <br>
1557
+ * - ture:开启;
1558
+ * - false:关闭。
1559
+ * @order 109
1560
+ */
1561
+
1562
+ enableMixer(enable: boolean): void;
1563
+ /** {zh}
1564
+ * @detail api
1565
+ * @group 方法
1566
+ * @brief 开启/关闭自动音量均衡。
1567
+ * @order 110
1568
+ * @param sourceLufs 源响度。
1569
+ * @param targetLufs 目标响度。
1570
+ */
1571
+
1572
+ enableAutoEq(sourceLufs: number, targetLufs: number): void;
1573
+ /** {zh}
1574
+ * @detail api
1575
+ * @group 方法
1576
+ * @brief 支持 MP4 格式的视频渲染。
1577
+ * @order 111
1578
+ * @param view 渲染视图。
1579
+ */
1580
+
1581
+ setRenderView(view: View): void;
1582
+ /** {zh}
1583
+ * @detail api
1584
+ * @group 方法
1585
+ * @brief 设置音视频帧回调的监听。
1586
+ * @notes <br>
1587
+ * 重复调用本方法,仅最后一次调用生效。
1588
+ * @order 112
1589
+ * @param listener 音视频帧回调监听。详情请参见 [VeLiveMediaPlayerFrameListener](147519#VeLiveMediaPlayerFrameListener)。
1590
+ */
1591
+
1592
+ setFrameListener(listener: VeLiveMediaPlayerFrameListener): void;
1593
+ /** {zh}
1594
+ * @detail api
1595
+ * @group 方法
1596
+ * @brief 设置播放音频的音量。
1597
+ * @order 113
1598
+ * @param volume 播放音频音量,取值范围为 [0.0,4.0]。
1599
+ */
1600
+
1601
+ setBGMVolume(volume: number): void;
1602
+ /** {zh}
1603
+ * @detail api
1604
+ * @group 方法
1605
+ * @brief 设置音频采集音量。
1606
+ * @notes <br>需要在调用 [start](#VeLiveMediaPlayer-start) 开始播放背景音乐后,调用本方法。
1607
+ * @order 114
1608
+ * @param volume 音频采集音量,取值范围为 [0.0,4.0]。
1609
+ */
1610
+
1611
+ setVoiceVolume(volume: number): void;
1612
+ /** {zh}
1613
+ * @detail api
1614
+ * @group 方法
1615
+ * @brief 设置是否循环播放。
1616
+ * @param loop 是否循环播放。默认为 false。
1617
+ * - true:循环播放;
1618
+ * - false:不循环播放。
1619
+ * @order 115
1620
+ */
1621
+
1622
+ enableBGMLoop(loop: boolean): void;
1623
+ }
1624
+ /** {zh}
1625
+ * @detail api
1626
+ * @list overview
1627
+ * @brief 音频帧的数据信息。
1628
+ */
1629
+
1630
+ export declare class VeLiveAudioFrame {
1631
+ protected _instance: any;
1632
+ protected __init(...args: any[]): void;
1633
+ protected __new_instance(...args: any[]): $p_a.VeLiveAudioFrame | $p_i.VeLiveAudioFrame;
1634
+ get bufferType(): any;
1635
+ set bufferType(value: any);
1636
+ get sampleRate(): any;
1637
+ set sampleRate(value: any);
1638
+ get channels(): any;
1639
+ set channels(value: any);
1640
+ /**
1641
+ * @platform android
1642
+ */
1643
+ get android_ptsUs(): any;
1644
+ set android_ptsUs(value: any);
1645
+ /**
1646
+ * @platform android
1647
+ */
1648
+ get android_buffer(): any;
1649
+ set android_buffer(value: any);
1650
+ /**
1651
+ * @platform android
1652
+ */
1653
+ get android_samplesPerChannel(): any;
1654
+ set android_samplesPerChannel(value: any);
1655
+ /** {zh}
1656
+ * @detail api
1657
+ * @group 方法
1658
+ * @brief 获取音频数据类型。
1659
+ * @return <br>
1660
+ * 音频数据类型,详情请参见 {@link #VeLiveAudioBufferType VeLiveAudioBufferType}。
1661
+ */
1662
+
1663
+ getBufferType(): VeLiveAudioBufferType;
1664
+ /** {zh}
1665
+ * @detail api
1666
+ * @group 方法
1667
+ * @brief 获取音频采样率。
1668
+ * @return <br>
1669
+ * 音频采样率,详情请参见 {@link #VeLiveAudioSampleRate VeLiveAudioSampleRate}。
1670
+ */
1671
+
1672
+ getSampleRate(): VeLiveAudioSampleRate;
1673
+ /** {zh}
1674
+ * @detail api
1675
+ * @group 方法
1676
+ * @brief 获取音频声道数。
1677
+ * @return <br>
1678
+ * 音频声道数,详情请参见 {@link #VeLiveAudioChannel VeLiveAudioChannel}。
1679
+ */
1680
+
1681
+ getChannels(): VeLiveAudioChannel;
1682
+ /** {zh}
1683
+ * @platform android
1684
+ * @detail api
1685
+ * @group 方法
1686
+ * @brief 获取音频位深度。
1687
+ * @return <br>
1688
+ * 音频位深度。
1689
+ */
1690
+
1691
+ android_getSamplesPerChannel(): number;
1692
+ /** {zh}
1693
+ * @detail api
1694
+ * @group 方法
1695
+ * @brief 获取音频时间戳,单位为 μs。
1696
+ * @return <br>
1697
+ * 音频时间戳,单位为 μs。
1698
+ */
1699
+
1700
+ getPts(): number;
1701
+ /** {zh}
1702
+ * @platform android
1703
+ * @detail api
1704
+ * @group 方法
1705
+ * @brief 获取音频数据。音频帧数据为 float32 格式小端字节序存储。
1706
+ * @return <br>
1707
+ * 格式为 ByteBuffer 的音频数据。
1708
+ */
1709
+
1710
+ android_getBuffer(): unknown;
1711
+ }
1712
+ /** {zh}
1713
+ * @detail api
1714
+ * @list overview
1715
+ * @brief 音频设备管理类。该类提供了用于管理和控制音频设备,包括设置音量、获取当前音量、检查硬件耳返支持情况、开启或关闭耳返的方法。
1716
+ */
1717
+
1718
+ export declare class VeLiveAudioDevice {
1719
+ protected _instance: any;
1720
+ protected __init(...args: any[]): void;
1721
+ protected __new_instance(...args: any[]): $p_a.VeLiveAudioDevice | $p_i.VeLiveAudioDevice;
1722
+ /** {zh}
1723
+ * @detail api
1724
+ * @group 方法
1725
+ * @brief 设置音量响度。
1726
+ * @order 74
1727
+ * @param level 音量响度等级,取值范围为 [0.0,4.0]。
1728
+ */
1729
+
1730
+ setVoiceLoudness(level: number): void;
1731
+ /** {zh}
1732
+ * @detail api
1733
+ * @group 方法
1734
+ * @brief 获取当前音量响度。
1735
+ * @return <br>
1736
+ * 当前音量响度等级。
1737
+ * @order 75
1738
+ */
1739
+
1740
+ getVoiceLoudness(): number;
1741
+ /** {zh}
1742
+ * @detail api
1743
+ * @group 方法
1744
+ * @brief 查询是否支持硬件耳返。
1745
+ * @return <br>
1746
+ * - true:支持;
1747
+ * - false:不支持。
1748
+ * @order 76
1749
+ */
1750
+
1751
+ isSupportHardwareEcho(): boolean;
1752
+ /** {zh}
1753
+ * @detail api
1754
+ * @group 方法
1755
+ * @brief 是否开启耳返功能。
1756
+ * @param enable 耳返功能开关。默认值为 false。
1757
+ * - true:开启;
1758
+ * - false:关闭。
1759
+ * @order 77
1760
+ */
1761
+
1762
+ enableEcho(enable: boolean): void;
1763
+ /** {zh}
1764
+ * @detail api
1765
+ * @group 方法
1766
+ * @brief 获取当前耳返开启状态。
1767
+ * @return <br>
1768
+ * - true:开启;
1769
+ * - false:关闭。
1770
+ * @order 78
1771
+ */
1772
+
1773
+ isEnableEcho(): boolean;
1774
+ }
1775
+ /** {zh}
1776
+ * @detail api
1777
+ * @list overview
1778
+ * @brief 推流引擎初始化配置。
1779
+ */
1780
+
1781
+ export declare class VeLivePusherConfiguration {
1782
+ protected _instance: any;
1783
+ protected __init(...args: any[]): void;
1784
+ protected __new_instance(...args: any[]): $p_a.VeLivePusherConfiguration | $p_i.VeLivePusherConfiguration;
1785
+ /** {zh}
1786
+ * @detail api
1787
+ * @group 方法
1788
+ * @brief 设置推流器推流失败后尝试重连的时间间隔。
1789
+ * @param interval 时间间隔,单位为 s,默认值为 5
1790
+ * @order 2
1791
+ */
1792
+
1793
+ setReconnectIntervalSeconds(interval: number): VeLivePusherConfiguration;
1794
+ /** {zh}
1795
+ * @detail api
1796
+ * @group 方法
1797
+ * @brief 获取推流器推流失败后尝试重连的时间间隔。
1798
+ * @return <br>
1799
+ * 时间间隔,单位为 s。
1800
+ * @order 3
1801
+ */
1802
+
1803
+ getReconnectIntervalSeconds(): number;
1804
+ /** {zh}
1805
+ * @detail api
1806
+ * @group 方法
1807
+ * @brief 设置推流器推流失败后尝试重连的次数。
1808
+ * @param maxCount 重连次数,默认值为 3
1809
+ * @order 4
1810
+ */
1811
+
1812
+ setReconnectCount(maxCount: number): VeLivePusherConfiguration;
1813
+ /** {zh}
1814
+ * @detail api
1815
+ * @group 方法
1816
+ * @brief 获取推流器推流失败后尝试重连的次数。
1817
+ * @return <br>
1818
+ * 重连次数。
1819
+ * @order 5
1820
+ */
1821
+
1822
+ getReconnectCount(): number;
1823
+ /** {zh}
1824
+ * @detail api
1825
+ * @group 方法
1826
+ * @brief 设置视频采集参数,用于调整和设置视频采集相关的参数。
1827
+ * @return <br>
1828
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1829
+ * @order 6
1830
+ * @param config 视频采集参数,详情请参见 [VeLiveVideoCaptureConfiguration](147521#VeLiveVideoCaptureConfiguration)。
1831
+ */
1832
+
1833
+ setVideoCaptureConfig(config: VeLiveVideoCaptureConfiguration): VeLivePusherConfiguration;
1834
+ /** {zh}
1835
+ * @detail api
1836
+ * @group 方法
1837
+ * @brief 获取视频采集参数,用于调整和设置视频采集相关的参数。
1838
+ * @return <br>视频采集参数配置对象,详情请参见 [VeLiveVideoCaptureConfiguration](147521#VeLiveVideoCaptureConfiguration)。
1839
+ * @order 7
1840
+ */
1841
+
1842
+ getVideoCaptureConfig(): VeLiveVideoCaptureConfiguration;
1843
+ /** {zh}
1844
+ * @detail api
1845
+ * @group 方法
1846
+ * @brief 设置音频采集参数,用于调整和设置音频采集相关的参数。
1847
+ * @return <br>
1848
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1849
+ * @order 7
1850
+ * @param config 音频采集参数,详情请参见 [VeLiveAudioCaptureConfiguration](147521#VeLiveAudioCaptureConfiguration)。
1851
+ */
1852
+
1853
+ setAudioCaptureConfig(config: VeLiveAudioCaptureConfiguration): VeLivePusherConfiguration;
1854
+ /** {zh}
1855
+ * @detail api
1856
+ * @group 方法
1857
+ * @brief 获取音频采集参数,用于调整和设置音频采集相关的参数。
1858
+ * @return <br>音频采集参数配置对象,详情请参见 [VeLiveAudioCaptureConfiguration](147521#VeLiveAudioCaptureConfiguration)。
1859
+ * @order 8
1860
+ */
1861
+
1862
+ getAudioCaptureConfig(): VeLiveAudioCaptureConfiguration;
1863
+ /** {zh}
1864
+ * @platform android
1865
+ * @detail api
1866
+ * @group 方法
1867
+ * @brief 设置应用上下文。
1868
+ * @return <br>
1869
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1870
+ * @order 9
1871
+ * @param context 应用上下文。
1872
+ */
1873
+
1874
+ android_setContext(context: $p_a.Context): VeLivePusherConfiguration;
1875
+ /** {zh}
1876
+ * @platform android
1877
+ * @detail api
1878
+ * @group 方法
1879
+ * @brief 获取应用上下文。
1880
+ * @return <br>
1881
+ * 应用上下文。
1882
+ * @order 10
1883
+ */
1884
+
1885
+ android_getContext(): $p_a.Context;
1886
+ /** {zh}
1887
+ * @detail api
1888
+ * @group 方法
1889
+ * @brief 设置扩展参数,默认不需要设置。如果需要使用,您可通过提交工单联系[技术支持](https://console.volcengine.com/workorder/create?step=3&SubProductID=P00000076)。
1890
+ * @return <br>
1891
+ * 推流引擎初始化配置对象,详情请参见 {@link #VeLivePusherConfiguration VeLivePusherConfiguration}。
1892
+ * @order 11
1893
+ * @param params 扩展参数
1894
+ */
1895
+
1896
+ setExtraParameters(params: string): VeLivePusherConfiguration;
1897
+ /** {zh}
1898
+ * @platform android
1899
+ * @detail api
1900
+ * @group 方法
1901
+ * @brief 获取扩展参数。
1902
+ * @return <br>
1903
+ * 扩展参数。
1904
+ * @order 12
1905
+ */
1906
+
1907
+ android_getExtraParams(): $p_a.LiveSdkSetting;
1908
+ /** {zh}
1909
+ * @platform android
1910
+ * @detail api
1911
+ * @group 方法
1912
+ * @brief 构造推流引擎。
1913
+ * @return <br>
1914
+ * 推流引擎,详情请参见 {@link #VeLivePusher VeLivePusher}。
1915
+ * @order 1
1916
+ */
1917
+
1918
+ android_build(): VeLivePusher;
1919
+ }
1920
+ export declare class VeLiveFileRecorderManager extends $p_i.VeLiveFileRecorderManager {
1921
+ }
1922
+ export declare class VeLivePusherScreenCapture extends $p_i.VeLivePusher {
1923
+ }