@byteplus/react-native-live-push 1.1.3-rc.4 → 1.2.0-rc.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 (59) hide show
  1. package/android/build.gradle +2 -2
  2. package/android/src/main/java/com/volcengine/velive/rn/push/ClassHelper.java +9 -0
  3. package/android/src/main/java/com/volcengine/velive/rn/push/NativeVariableManager.java +5 -8
  4. package/android/src/main/java/com/volcengine/velive/rn/push/VeLivePushModule.java +1 -0
  5. package/android/src/main/java/com/volcengine/velive/rn/push/mixer/MixerManager.java +1 -3
  6. package/android/src/main/java/com/volcengine/velive/rn/push/mixer/MixerView.java +33 -22
  7. package/ios/VeLiveMixerHelper.h +7 -5
  8. package/ios/VeLiveMixerHelper.m +1 -1
  9. package/ios/VeLiveMixerViewManager.m +2 -2
  10. package/lib/commonjs/index.js +23202 -20302
  11. package/lib/commonjs/typescript/android/index.d.ts +0 -3
  12. package/lib/commonjs/typescript/codegen/android/api.d.ts +190 -644
  13. package/lib/commonjs/typescript/codegen/android/callback.d.ts +234 -2
  14. package/lib/commonjs/typescript/codegen/android/errorcode.d.ts +66 -0
  15. package/lib/commonjs/typescript/codegen/android/keytype.d.ts +1014 -181
  16. package/lib/commonjs/typescript/codegen/ios/api.d.ts +890 -0
  17. package/lib/commonjs/typescript/codegen/ios/callback.d.ts +162 -0
  18. package/lib/commonjs/typescript/codegen/ios/errorcode.d.ts +101 -1
  19. package/lib/commonjs/typescript/codegen/ios/keytype.d.ts +694 -0
  20. package/lib/commonjs/typescript/codegen/pack/api.d.ts +303 -686
  21. package/lib/commonjs/typescript/codegen/pack/callback.d.ts +37 -38
  22. package/lib/commonjs/typescript/codegen/pack/errorcode.d.ts +75 -5
  23. package/lib/commonjs/typescript/codegen/pack/keytype.d.ts +1002 -298
  24. package/lib/commonjs/typescript/core/api.d.ts +2 -1
  25. package/lib/commonjs/typescript/core/pusher.d.ts +0 -3
  26. package/lib/module/index.js +23203 -20302
  27. package/lib/module/typescript/android/index.d.ts +0 -3
  28. package/lib/module/typescript/codegen/android/api.d.ts +190 -644
  29. package/lib/module/typescript/codegen/android/callback.d.ts +234 -2
  30. package/lib/module/typescript/codegen/android/errorcode.d.ts +66 -0
  31. package/lib/module/typescript/codegen/android/keytype.d.ts +1014 -181
  32. package/lib/module/typescript/codegen/ios/api.d.ts +890 -0
  33. package/lib/module/typescript/codegen/ios/callback.d.ts +162 -0
  34. package/lib/module/typescript/codegen/ios/errorcode.d.ts +101 -1
  35. package/lib/module/typescript/codegen/ios/keytype.d.ts +694 -0
  36. package/lib/module/typescript/codegen/pack/api.d.ts +303 -686
  37. package/lib/module/typescript/codegen/pack/callback.d.ts +37 -38
  38. package/lib/module/typescript/codegen/pack/errorcode.d.ts +75 -5
  39. package/lib/module/typescript/codegen/pack/keytype.d.ts +1002 -298
  40. package/lib/module/typescript/core/api.d.ts +2 -1
  41. package/lib/module/typescript/core/pusher.d.ts +0 -3
  42. package/lib/typescript/android/index.d.ts +0 -3
  43. package/lib/typescript/codegen/android/api.d.ts +190 -644
  44. package/lib/typescript/codegen/android/callback.d.ts +234 -2
  45. package/lib/typescript/codegen/android/errorcode.d.ts +66 -0
  46. package/lib/typescript/codegen/android/keytype.d.ts +1014 -181
  47. package/lib/typescript/codegen/ios/api.d.ts +890 -0
  48. package/lib/typescript/codegen/ios/callback.d.ts +162 -0
  49. package/lib/typescript/codegen/ios/errorcode.d.ts +101 -1
  50. package/lib/typescript/codegen/ios/keytype.d.ts +694 -0
  51. package/lib/typescript/codegen/pack/api.d.ts +303 -686
  52. package/lib/typescript/codegen/pack/callback.d.ts +37 -38
  53. package/lib/typescript/codegen/pack/errorcode.d.ts +75 -5
  54. package/lib/typescript/codegen/pack/keytype.d.ts +1002 -298
  55. package/lib/typescript/core/api.d.ts +2 -1
  56. package/lib/typescript/core/pusher.d.ts +0 -3
  57. package/package.json +1 -1
  58. package/react-native-velive-push.podspec +3 -3
  59. package/android/src/main/java/com/volcengine/velive/rn/push/ScreenCaptureHelper.java +0 -73
@@ -4,219 +4,1109 @@ import { VeLiveMediaPlayerListener, VeLiveMediaPlayerFrameListener, VeLivePusher
4
4
  import { UIView } from './external';
5
5
  export declare class VeLiveFileRecorderManager {
6
6
 
7
+ /** {en}
8
+ * @detail api
9
+ * @brief Start live recording.
10
+ * @notes - Please call [startPush:](#VeLivePusher-startpush) After the stream is successfully pushed, call this method, and the audio & video data during the live broadcast will be saved locally;
11
+ * - This method is an asynchronous operation;
12
+ * - After starting recording, [onFileRecordingStarted](#docs-broadcast-sdk-for-ios-callbackVeLiveFileRecordingListener-onfilerecordingstarted) callback message;
13
+ * - An error in recording will trigger [onFileRecordingError:message:](#docs-broadcast-sdk-for-ios-callbackVeLiveFileRecordingListener-onfilerecordingerror-message) callback message.
14
+ * @param path The recording file save path cannot be configured for empty
15
+ * @param config live recording. For details, see [VeLiveFileRecorderConfiguration](docs-broadcast-sdk-for-ios-type-definition#VeLiveFileRecorderConfiguration).
16
+ * @order 43
17
+ */
7
18
  startRecord(path: NSString, config: VeLiveFileRecorderConfiguration): void;
8
19
 
20
+ /** {en}
21
+ * @detail api
22
+ * @brief Stop local live recording.
23
+ * @notes - Please call this method after calling [startRecord:config:](#VeLiveFileRecorderManager-startrecord-config) successfully starts recording;
24
+ * - This method is an asynchronous operation;
25
+ * - Stop recording, which will trigger [onFileRecordingStopped](#docs-broadcast-sdk-for-ios-callbackVeLiveFileRecordingListener-onfilerecordingstopped) callback message;
26
+ * - An error occurs in the recording, which will trigger [onFileRecordingError:message:](#docs-broadcast-sdk-for-ios-callbackVeLiveFileRecordingListener-onfilerecordingerror-message) callback message.
27
+ * @order 45
28
+ */
9
29
  stopRecord(): void;
10
30
  init(): this;
11
31
  }
12
32
  export declare class VeLiveCameraDevice {
13
33
 
34
+ /** {en}
35
+ * @detail api
36
+ * @brief Checks whether flashlight is supported.
37
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
38
+ * @order 49
39
+ * @return - YES: Supported;
40
+ * - NO: Not supported.
41
+ */
14
42
  isTorchSupported(): BOOL;
15
43
 
44
+ /** {en}
45
+ * @detail api
46
+ * @brief Enables or disables the flashlight.
47
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
48
+ * @order 51
49
+ * @param enable Whether to enable the flashlight.<br>
50
+ * - YES: Enable
51
+ * - NO: (Default) Disable.
52
+ * @return - = 0: Success;
53
+ * - ≠ 0: Failure.
54
+ */
16
55
  enableTorch(enable: BOOL): int;
17
56
 
57
+ /** {en}
58
+ * @detail api
59
+ * @brief Sets the zoom factor of the camera.
60
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
61
+ * @order 52
62
+ * @param ratio The zoom factor. The SDK uses the original size by default. The range of the zoom factor is [[getMinZoomRatio](#VeLiveCameraDevice-getminzoomratio), [getMaxZoomRatio](#VeLiveCameraDevice-getmaxzoomratio)].
63
+ * @return - = 0: Success;
64
+ * - ≠ 0: Failure.
65
+ */
18
66
  setZoomRatio(ratio: float): int;
19
67
 
68
+ /** {en}
69
+ * @detail api
70
+ * @brief Gets the current zoom factor of the camera.
71
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
72
+ * @order 53
73
+ * @return - ≤0: The camera does not support zooming;
74
+ * - >0: The zoom factor.
75
+ */
20
76
  getCurrentZoomRatio(): float;
21
77
 
78
+ /** {en}
79
+ * @detail api
80
+ * @brief Gets the maximum zoom factor of the camera.
81
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
82
+ * @order 54
83
+ * @return - ≤0: The camera does not support zooming;
84
+ * - >0: The maximum zoom factor.
85
+ */
22
86
  getMaxZoomRatio(): float;
23
87
 
88
+ /** {en}
89
+ * @detail api
90
+ * @brief Gets the minimum zoom factor of the camera.
91
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
92
+ * @order 55
93
+ * @return - ≤0: The camera does not support zooming;
94
+ * - >0: The minimum zoom factor.
95
+ */
24
96
  getMinZoomRatio(): float;
25
97
 
98
+ /** {en}
99
+ * @detail api
100
+ * @brief Checks whether autofocus is supported.
101
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
102
+ * @order 56
103
+ * @return - YES: Supported;
104
+ * - NO: Not supported.
105
+ */
26
106
  isAutoFocusEnabled(): BOOL;
27
107
 
108
+ /** {en}
109
+ * @detail api
110
+ * @brief Enables or disables autofocus.
111
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
112
+ * @order 57
113
+ * @param enable Whether to enable autofocus.
114
+ * - YES: (Default) Enable;
115
+ * - NO: Disable.
116
+ * @return - =0: Success;
117
+ * - ≠0: Failure.
118
+ */
28
119
  enableAutoFocus(enable: BOOL): int;
29
120
 
121
+ /** {en}
122
+ * @detail api
123
+ * @brief Sets the focus position of the camera.
124
+ * @notes
125
+ * Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
126
+ * @order 58
127
+ * @param position The coordinate of the focus point from the upper left corner of the current view.
128
+ * @return - =0: Success;
129
+ * - ≠0: Failure.
130
+ */
30
131
  setFocusPosition(position: CGPoint): int;
31
132
 
133
+ /** {en}
134
+ * @detail api
135
+ * @brief Checks if manual exposure setting is available for the currently used camera.
136
+ * @notes You must call [startVideoCapture:](#VeLivePusher-startvideocapture) to start SDK internal video capturing before calling this API.
137
+ * @order 59
138
+ * @return - YES: Available.
139
+ * - NO: Unavailable.
140
+ */
32
141
  isExposurePositionSupported(): BOOL;
33
142
 
143
+ /** {en}
144
+ * @detail api
145
+ * @brief Sets the manual exposure position for the currently used camera.
146
+ * @param position The position of the exposure point. Setting the upper-left corner of the canvas as the origin, the `x` in `position` means the x-coordinate of the exposure point in range of [0, 1], and the `y` in `position` means the y-coordinate of the exposure point in range of [0, 1].
147
+ * @notes - You must call [startVideoCapture:](#VeLivePusher-startvideocapture) to start SDK internal video capturing, and use SDK internal rendering before calling this API.
148
+ * - When you set the exposure point at the center of the canvas, the exposure point setting will be canceled.
149
+ * - The camera exposure point setting will be invalid after calling [stopVideoCapture:](#VeLivePusher-stopvideocapture) to stop internal capturing.
150
+ * @order 60
151
+ * @return - =0: Success.
152
+ * - ≠0: Failure.
153
+ */
34
154
  setExposurePosition(position: CGPoint): int;
35
155
 
156
+ /** {en}
157
+ * @detail api
158
+ * @brief Sets the exposure compensation for the currently used camera.
159
+ * @param value The range of the exposure compensation is [[getMinExposureCompensation](#VeLiveCameraDevice-getminexposurecompensation), [getMaxExposureCompensation](#VeLiveCameraDevice-getmaxexposurecompensation)]. Default to 0, which means no exposure compensation.
160
+ * @notes - You must call [startVideoCapture:](#VeLivePusher-startvideocapture) to start SDK internal video capturing, and use SDK internal rendering before calling this API.
161
+ * - The camera exposure compensation setting will be invalid after calling [stopVideoCapture:](#VeLivePusher-stopvideocapture) to stop internal capturing.
162
+ * @order 61
163
+ * @return - =0: Success.
164
+ * - ≠0: Failure.
165
+ */
36
166
  setExposureCompensation(value: float): int;
37
167
 
168
+ /** {en}
169
+ * @detail api
170
+ * @brief Gets the minimum exposure compensation of the camera.
171
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
172
+ * @order 62
173
+ * @return - ≤0: The camera does not support exposure;
174
+ * - >0: The minimum exposure compensation.
175
+ */
38
176
  getMinExposureCompensation(): float;
39
177
 
178
+ /** {en}
179
+ * @detail api
180
+ * @brief Gets the maximum exposure compensation of the camera.
181
+ * @notes
182
+ * Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
183
+ * @order 63
184
+ * @return - ≤0: The camera does not support exposure;
185
+ * - >0: The maximum exposure compensation.
186
+ */
40
187
  getMaxExposureCompensation(): float;
41
188
 
189
+ /** {en}
190
+ * @detail api
191
+ * @brief Sets camera parameters.
192
+ * @notes Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
193
+ * @order 64
194
+ * @param parameter The parameter name (key) and the corresponding value.
195
+ */
42
196
  setParameter(parameter: NSDictionary): void;
43
197
 
198
+ /** {en}
199
+ * @detail api
200
+ * @brief Gets camera parameters.
201
+ * @notes
202
+ * Call this method after calling [startVideoCapture:](#VeLivePusher-startvideocapture) to start camera capture.
203
+ * @order 65
204
+ * @param key The parameter name.
205
+ * @return The value of the camera parameter. The data type is determined by the parameter name you set when calling the method.
206
+ */
44
207
  getParameter(key: NSString): id;
45
208
  init(): this;
46
209
  }
47
210
  export declare class VeLiveMediaPlayer {
48
211
 
212
+ /** {en}
213
+ * @detail api
214
+ * @brief Sets the file path. Supported file formats include MP3, AAC, M4A, and WAV.
215
+ * @param url The file path.
216
+ * @order 1
217
+ * @return - 0: Success;
218
+ * - ≠ 0: Failure.
219
+ */
49
220
  prepare(url: NSString): int;
50
221
 
222
+ /** {en}
223
+ * @detail api
224
+ * @brief Destroys the media player instance.
225
+ * @order 3
226
+ */
51
227
  destroy(): void;
52
228
 
229
+ /** {en}
230
+ * @detail api
231
+ * @brief Sets the observer for playback statuses.
232
+ * @param listener The observer that listens for playback statuses. For details, see [VeLiveMediaPlayerListener](broadcast-sdk-for-ios-callback#VeLiveMediaPlayerListener).
233
+ * @notes If you make multiple calls to this method, only the last call takes effect.
234
+ * @order 4
235
+ */
53
236
  setListener(listener: id<VeLiveMediaPlayerListener>): void;
54
237
 
238
+ /** {en}
239
+ * @detail api
240
+ * @brief Sets the observer for audio and video frames.
241
+ * @param listener The observer that listens for audio and video frames. For details, see [VeLiveMediaPlayerFrameListener](broadcast-sdk-for-ios-callback#VeLiveMediaPlayerFrameListener).
242
+ * @notes <br>
243
+ * If you make multiple calls to this method, only the last call takes effect.
244
+ * @order 5
245
+ */
55
246
  setFrameListener(listener: id<VeLiveMediaPlayerFrameListener>): void;
56
247
 
248
+ /** {en}
249
+ * @detail api
250
+ * @brief Enables or disables mixing the audio to the live stream.
251
+ * @param enable Whether to enable or disable mixing the audio to the live stream. <br>
252
+ * - YES: Enable;
253
+ * - NO: (Default) Disable.
254
+ * @order 6
255
+ */
57
256
  enableMixer(enable: BOOL): void;
58
257
 
258
+ /** {en}
259
+ * @detail api
260
+ * @brief Enables or disables automatic volume equalization.
261
+ * @param sourceLufs The source volume.
262
+ * @param target The target volume.
263
+ * @order 7
264
+ * @param targetLufs The target volume.
265
+ */
59
266
  enableAutoEq(sourceLufs: float, targetLufs: float): void;
60
267
 
268
+ /** {en}
269
+ * @detail api
270
+ * @brief Sets the view for rendering the video. Supports MP4 format.
271
+ * @param view The view used by the media player to render video.
272
+ * @order 93
273
+ */
61
274
  setRenderView(view: UIView): void;
62
275
 
276
+ /** {en}
277
+ * @detail api
278
+ * @brief Sets whether to loop the media file.
279
+ * @param enable Whether to loop the media file. <br>
280
+ * - YES: Loop.
281
+ * - NO: (Default) Do not loop.
282
+ * @order 8
283
+ */
63
284
  enableBGMLoop(enable: BOOL): void;
64
285
 
286
+ /** {en}
287
+ * @detail api
288
+ * @brief Starts playback.
289
+ * @notes
290
+ * - This method must be called after you call [prepare:](#VeLiveMediaPlayer-prepare) to set the file path.
291
+ * - This method is an asynchronous operation. The media player starts playback when the [onStart](docs-broadcast-sdk-for-ios-callback#VeLiveMediaPlayerListener-onstart) callback is triggered.
292
+ * @order 9
293
+ * @return <br>
294
+ * - 0: Success;
295
+ * - ≠ 0: Failure.
296
+ */
65
297
  start(): Promise<int>;
66
298
 
299
+ /** {en}
300
+ * @detail api
301
+ * @brief Stops playback.
302
+ * @notes
303
+ * This method must be called after you call [start](#VeLiveMediaPlayer-start) to start playback.
304
+ * @order 10
305
+ * @return <br>
306
+ * - 0: Success;
307
+ * - ≠ 0: Failure.
308
+ */
67
309
  stop(): Promise<int>;
68
310
 
311
+ /** {en}
312
+ * @detail api
313
+ * @brief Pauses playback.
314
+ * @notes
315
+ * This method must be called after you call [start](#VeLiveMediaPlayer-start) to start playback.
316
+ * @order 11
317
+ */
69
318
  pause(): Promise<void>;
70
319
 
320
+ /** {en}
321
+ * @detail api
322
+ * @brief Resumes playback.
323
+ * @notes
324
+ * This method must be called after you call [pause](#VeLiveMediaPlayer-pause) to pause playback.
325
+ * @order 12
326
+ */
71
327
  resume(): Promise<void>;
72
328
 
329
+ /** {en}
330
+ * @detail api
331
+ * @brief Sets the playback progress.
332
+ * @param pos The playback progress, in milliseconds.
333
+ * @order 13
334
+ * @return <br>
335
+ * - 0: Success;
336
+ * - ≠ 0: Failure.
337
+ */
73
338
  seek(pos: long): int;
74
339
 
340
+ /** {en}
341
+ * @detail api
342
+ * @brief Gets the duration of the media file.
343
+ * @notes
344
+ * This method must be called after you call [start](#VeLiveMediaPlayer-start) to start playback.
345
+ * @order 2
346
+ * @return <br>
347
+ * - > 0: The duration of the media file, in milliseconds.
348
+ * - ≤ 0: Failure.
349
+ */
75
350
  getDuration(): long;
76
351
 
352
+ /** {en}
353
+ * @detail api
354
+ * @brief Sets the playback volume.
355
+ * @param volume The playback volume. The value range is [0.0, 4.0].
356
+ * @order 14
357
+ */
77
358
  setBGMVolume(volume: float): void;
78
359
 
360
+ /** {en}
361
+ * @detail api
362
+ * @brief Sets the audio capture volume.
363
+ * @param volume The audio capture volume. The value range is [0.0, 4.0].
364
+ * @notes
365
+ * This method must be called after you call [start](#VeLiveMediaPlayer-start) to start playing background music.
366
+ * @order 15
367
+ */
79
368
  setVoiceVolume(volume: float): void;
80
369
  init(): this;
81
370
  }
82
371
  export declare class VeLiveAudioDevice {
83
372
 
373
+ /** {en}
374
+ * @detail api
375
+ * @brief Sets the volume.
376
+ * @param level The volume. The value range is [0.0,4.0].
377
+ * @order 60
378
+ */
84
379
  setVoiceLoudness(level: float): void;
85
380
 
381
+ /** {en}
382
+ * @detail api
383
+ * @brief Gets the current volume.
384
+ * @order 61
385
+ * @return <br>
386
+ * The current volume.
387
+ */
86
388
  getVoiceLoudness(): float;
87
389
 
390
+ /** {en}
391
+ * @detail api
392
+ * @brief Checks whether in-ear monitoring is supported.
393
+ * @return <br>
394
+ * - YES: Supported;
395
+ * - NO: Not supported.
396
+ * @order 62
397
+ */
88
398
  isSupportHardwareEcho(): BOOL;
89
399
 
400
+ /** {en}
401
+ * @detail api
402
+ * @brief Enables or disables in-ear monitoring.
403
+ * @param enable Whether to enable in-ear monitoring. <br>
404
+ * - YES: Enable;
405
+ * - NO: (Default) Disable.
406
+ * @notes
407
+ * Call this method after calling [startAudioCapture:](#VeLivePusher-startaudiocapture) to start audio capture.
408
+ * @order 64
409
+ */
90
410
  enableEcho(enable: BOOL): void;
91
411
 
412
+ /** {en}
413
+ * @detail api
414
+ * @brief Checks whether in-ear monitoring is enabled.
415
+ * @notes
416
+ * Call this method after calling [startAudioCapture:](#VeLivePusher-startaudiocapture) to start audio capture.
417
+ * @order 65
418
+ * @return <br>
419
+ * - YES: Enabled;
420
+ * - NO: Disabled.
421
+ */
92
422
  isEnableEcho(): BOOL;
93
423
  init(): this;
94
424
  }
95
425
  export declare class VeLivePusher {
96
426
 
427
+ /** {en}
428
+ * @detail api
429
+ * @brief Sets the log level sent to the console.
430
+ * @param level The log level. See [VeLivePusherLogLevel](broadcast-sdk-for-ios-type-definition#VeLivePusherLogLevel) for details. The default value is 'VeLivePusherLogLevelNone', which means turning off logging.
431
+ * @order 50
432
+ */
97
433
  static setLogLevel(level: VeLivePusherLogLevel): void;
98
434
 
435
+ /** {en}
436
+ * @detail api
437
+ * @param applicationGroupIdentifier iOS app group identifier.
438
+ * @brief Starts screen capturing.
439
+ * @order 20
440
+ */
99
441
  startScreenCapture(applicationGroupIdentifier: NSString): void;
100
442
 
443
+ /** {en}
444
+ * @detail api
445
+ * @brief Stops the screen capturing process.
446
+ * @notes <br>
447
+ * This method completely terminates the current screen capture flow and releases associated resources. After calling this method, `pauseScreenCapture` and `resumeScreenCapture` will no longer be effective.
448
+ * @order 21
449
+ */
101
450
  stopScreenCapture(): void;
451
+
452
+ /** {en}
453
+ * @detail api
454
+ * @brief Pauses the screen capturing process.
455
+ * @notes <br>
456
+ * This method pauses the screen capture without releasing underlying resources. You can call `resumeScreenCapture` later to resume capturing. If the capture is already stopped or has not been started, calling this method has no effect.
457
+ * @order 22
458
+ */
459
+ pauseScreenCapture(): void;
460
+
461
+ /** {en}
462
+ * @detail api
463
+ * @brief Resumes the screen capturing process.
464
+ * @notes <br>
465
+ * After calling `pauseScreenCapture`, use this method to resume screen capture output. If the capture has already been stopped or never started, calling this method has no effect.
466
+ * @order 23
467
+ */
468
+ resumeScreenCapture(): void;
102
469
  init(): this;
103
470
 
471
+ /** {en}
472
+ * @detail api
473
+ * @brief Initializes the live pusher.
474
+ * @param config The pusher configurations. See [VeLivePusherConfiguration](docs-broadcast-sdk-for-ios-type-definition#VeLivePusherConfiguration) for details.
475
+ * @order 0
476
+ */
104
477
  initWithConfig(config: VeLivePusherConfiguration): this;
105
478
 
479
+ /** {en}
480
+ * @detail api
481
+ * @brief Stops capturing and pushing streams and destroys the live pusher. Call this method after [stopPush](#VeLivePusher-stoppush) is called.
482
+ * @order 2
483
+ */
106
484
  destroy(): void;
107
485
 
486
+ /** {en}
487
+ * @detail api
488
+ * @brief Sets an observer to listen for live pusher events, including errors, statuses, network quality, device information, and first frame rendering.
489
+ * @param observer The observer. Refer to VeLivePusherObserver {@link #VeLivePusherObserver} for details.
490
+ * @notes <br>
491
+ * - This method must be called after the live pusher is created;
492
+ * - If you make multiple calls to this method, only the last call takes effect.
493
+ * @order 4
494
+ */
108
495
  setObserver(observer: id<VeLivePusherObserver>): void;
109
496
 
497
+ /** {en}
498
+ * @detail api
499
+ * @brief Sets an observer to periodically report push-stream statistics.
500
+ * @param observer The observer. Refer to VeLivePusherStatisticsObserver {@link #VeLivePusherStatisticsObserver} for details.
501
+ * @param interval The time interval between two callbacks, in seconds. The default value is `5`.
502
+ * @notes <br>
503
+ * - This method must be called after the live pusher is created;
504
+ * - If you make multiple calls to this method, only the last call takes effect.
505
+ * @order 6
506
+ */
110
507
  setStatisticsObserver(observer: id<VeLivePusherStatisticsObserver>, interval: int): void;
111
508
 
509
+ /** {en}
510
+ * @detail api
511
+ * @brief Adds a video frame listener.
512
+ * @param listener The listener. See VeLiveVideoFrameListener {@link #VeLiveVideoFrameListener} for details.
513
+ * @order 51
514
+ * @return <br>
515
+ * - 0: Success;
516
+ * - ≠ 0: Failure.
517
+ */
112
518
  addVideoFrameListener(listener: id<VeLiveVideoFrameListener>): int;
113
519
 
520
+ /** {en}
521
+ * @detail api
522
+ * @brief Removes the video frame listener.
523
+ * @param listener The listener. See [VeLiveVideoFrameListener](broadcast-sdk-for-ios-callback#VeLiveVideoFrameListener) for details.
524
+ * @notes <br>
525
+ * Calling this method will return a failure if the listener has not been added or has been removed.
526
+ * @order 52
527
+ * @return <br>
528
+ * - 0: Success;
529
+ * - <0: Failure.
530
+ */
114
531
  removeVideoFrameListener(listener: id<VeLiveVideoFrameListener>): int;
115
532
 
533
+ /** {en}
534
+ * @detail api
535
+ * @brief Adds an audio frame listener.
536
+ * @order 53
537
+ * @param listener The listener. See [VeLiveAudioFrameListener](docs-broadcast-sdk-for-ios-callback#VeLiveAudioFrameListener)for details.
538
+ * @return <br>
539
+ * - 0: Success;
540
+ * - <0: Failure.
541
+ */
116
542
  addAudioFrameListener(listener: id<VeLiveAudioFrameListener>): int;
117
543
 
544
+ /** {en}
545
+ * @detail api
546
+ * @brief Removes the audio frame listener.
547
+ * @notes <br>
548
+ * Calling this method will return a failure if the listener has not been added or has been removed.
549
+ * @order 54
550
+ * @param listener The listener. See [VeLiveAudioFrameListener](docs-broadcast-sdk-for-ios-callback#VeLiveAudioFrameListener) for details.
551
+ * @return <br>
552
+ * - 0: Success;
553
+ * - <0: Failure.
554
+ */
118
555
  removeAudioFrameListener(listener: id<VeLiveAudioFrameListener>): int;
119
556
 
557
+ /** {en}
558
+ * @brief Sets the observer for screen capturing events.
559
+ * @notes Calling this method will return a failure if the listener has not been added or has been removed.
560
+ * @param observer The observer for screen capturing events. For details, refer to [VeLiveScreenCaptureStatusObserver](docs-broadcast-sdk-for-ios-callback#VeLiveScreenCaptureStatusObserver).
561
+ * @order 5
562
+ * @return - 0: Success;
563
+ * - <0: Failure.
564
+ */
120
565
  setScreenCaptureObserver(observer: id<VeLiveScreenCaptureStatusObserver>): int;
121
566
 
567
+ /** {en}
568
+ * @detail api
569
+ * @brief Sets the preview for the local camera. If beauty AR is applied to the captured video or if it undergoes any other processing, the preview will display the processed video.
570
+ * @param view The preview view.
571
+ * @order 7
572
+ */
122
573
  setRenderView(view: UIView): Promise<void>;
123
574
 
575
+ /** {en}
576
+ * @detail api
577
+ * @order 10
578
+ * @brief Sets the fill mode of the local preview.
579
+ * @param fillMode The fill mode. See VeLivePusherRenderMode {@link #VeLivePusherRenderMode} for details.
580
+ */
124
581
  setRenderFillMode(fillMode: VeLivePusherRenderMode): void;
125
582
 
583
+ /** {en}
584
+ * @detail api
585
+ * @brief Enables or disables mirroring for the local preview and the streamed video.
586
+ * @order 8
587
+ * @param type Mirror mode. See [VeLiveVideoMirrorType](broadcast-sdk-for-ios-type-definition#VeLiveVideoMirrorType) for details.
588
+ * @param enable Whether to enable mirroring.<br>
589
+ * - YES: Enable;
590
+ * - NO: Disable.
591
+ */
126
592
  setVideoMirror(type: VeLiveVideoMirrorType, enable: BOOL): void;
127
593
 
594
+ /** {en}
595
+ * @detail api
596
+ * @brief Starts streaming.
597
+ * @param url The push stream address.
598
+ * @order 24
599
+ */
128
600
  startPush(url: NSString): void;
129
601
 
602
+ /** {en}
603
+ * @detail api
604
+ * @brief Starts streaming with one or more push stream addresses.
605
+ * @param urls A list of push stream addresses.
606
+ * @notes <br>
607
+ * When the first push stream address in the array is unavailable, the SDK will automatically switch to the subsequent addresses.
608
+ * @order 25
609
+ */
130
610
  startPushWithUrls(urls: NSArray<NSString>): void;
131
611
 
612
+ /** {en}
613
+ * @detail api
614
+ * @brief Stops streaming.
615
+ * @notes
616
+ * After you have stopped streaming, you can restart streaming by calling [startPush:](#VeLivePusher-startpush) or [startPushWithUrls:](#VeLivePusher-startpushwithurls).
617
+ * @order 26
618
+ */
132
619
  stopPush(): void;
133
620
 
621
+ /** {en}
622
+ * @detail api
623
+ * @brief Checks whether the streaming is currently ongoing. You can use this method to query the status of the live pusher.
624
+ * @order 27
625
+ * @return <br>
626
+ * Whether the streaming is currently ongoing.<br>
627
+ * - YES: The streaming is currently ongoing;
628
+ * - NO: The streaming has stopped.
629
+ */
134
630
  isPushing(): BOOL;
135
631
 
632
+ /** {en}
633
+ * @detail api
634
+ * @brief Starts video capture.
635
+ * @param type The video capture type. See VeLiveVideoCaptureType {@link #VeLiveVideoCaptureType} for details.
636
+ * @notes
637
+ * After calling this method, you can stop video capture by calling [stopVideoCapture](#VeLivePusher-stopvideocapture).
638
+ * @order 11
639
+ */
136
640
  startVideoCapture(type: VeLiveVideoCaptureType): void;
137
641
 
642
+ /** {en}
643
+ * @detail api
644
+ * @brief Stops video capture.
645
+ * @notes
646
+ * After calling this method, you can start video capture by calling [startVideoCapture:](#VeLivePusher-startvideocapture).
647
+ * @order 12
648
+ */
138
649
  stopVideoCapture(): void;
139
650
 
651
+ /** {en}
652
+ * @detail api
653
+ * @brief Switches the video capture type.
654
+ * @notes
655
+ * This method must be called after [startVideoCapture:](#VeLivePusher-startvideocapture) is called.
656
+ * @order 13
657
+ * @param type The video capture type. See VeLiveVideoCaptureType{@link #VeLiveVideoCaptureType} for details.
658
+ */
140
659
  switchVideoCapture(type: VeLiveVideoCaptureType): void;
141
660
 
661
+ /** {en}
662
+ * @detail api
663
+ * @brief Starts audio capture.
664
+ * @param type The audio capture type. See VeLiveAudioCaptureType {@link #VeLiveAudioCaptureType} for details.
665
+ * @notes
666
+ * After calling this method, you can stop audio capture by calling [stopAudioCapture](#VeLivePusher-stopaudiocapture).
667
+ * @order 15
668
+ */
142
669
  startAudioCapture(type: VeLiveAudioCaptureType): void;
143
670
 
671
+ /** {en}
672
+ * @detail api
673
+ * @brief Stops audio capture.
674
+ * @notes
675
+ * After calling this method, you can start audio capture by calling [startAudioCapture:](#VeLivePusher-startaudiocapture).
676
+ * @order 16
677
+ */
144
678
  stopAudioCapture(): void;
145
679
 
680
+ /** {en}
681
+ * @detail api
682
+ * @brief Switches audio capture type.
683
+ * @param type The audio capture type. See VeLiveAudioCaptureType {@link #VeLiveAudioCaptureType} for details.
684
+ * @notes
685
+ * This method must be called after [startAudioCapture:](#VeLivePusher-startaudiocapture) is called.
686
+ * @order 17
687
+ */
146
688
  switchAudioCapture(type: VeLiveAudioCaptureType): void;
147
689
 
690
+ /** {en}
691
+ * @detail api
692
+ * @brief Gets the current video capture type.
693
+ * @order 14
694
+ * @return
695
+ * The video capture type. See [VeLiveVideoCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveVideoCaptureType) for details.
696
+ */
148
697
  getCurrentVideoCaptureType(): VeLiveVideoCaptureType;
149
698
 
699
+ /** {en}
700
+ * @detail api
701
+ * @brief Gets the current audio capture type.
702
+ * @order 18
703
+ * @return
704
+ * The audio capture type. See [VeLiveAudioCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveAudioCaptureType) for details.
705
+ */
150
706
  getCurrentAudioCaptureType(): VeLiveAudioCaptureType;
151
707
 
708
+ /** {en}
709
+ * @detail api
710
+ * @brief Sets a static image to push. When using this method, you must call [startVideoCapture:](#VeLivePusher-startvideocapture) and set [VeLiveVideoCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveVideoCaptureType) to `VeLiveVideoCaptureCustomImage`.
711
+ * @order 19
712
+ * @param image The static image to push.
713
+ */
152
714
  updateCustomImage(image: UIImage): Promise<void>;
153
715
 
716
+ /** {en}
717
+ * @detail api
718
+ * @brief Sets whether to mute the stream.
719
+ * @param mute Whether to mute the stream.<br>
720
+ * - YES: Mute;
721
+ * - NO: (Default) Do not mute.
722
+ * @order 22
723
+ */
154
724
  setMute(mute: BOOL): void;
155
725
 
726
+ /** {en}
727
+ * @detail api
728
+ * @brief Checks whether the stream is muted.
729
+ * @order 23
730
+ * @return <br>
731
+ * - YES: The stream is muted.
732
+ * - NO: The stream is not muted.
733
+ */
156
734
  isMute(): BOOL;
157
735
 
736
+ /** {en}
737
+ * @detail api
738
+ * @brief Sets video encoding parameters for the pushed stream.
739
+ * @param config The video encoding parameters, including the video resolution, encoding format, target bitrate, and GOP size. For details, see VeLiveVideoEncoderConfiguration {@link #VeLiveVideoEncoderConfiguration}.
740
+ * @notes <br>
741
+ * This method can be called before or after live streaming starts.
742
+ * @order 29
743
+ */
158
744
  setVideoEncoderConfiguration(config: VeLiveVideoEncoderConfiguration): void;
159
745
 
746
+ /** {en}
747
+ * @detail api
748
+ * @brief Sets audio encoding parameters for the pushed stream.
749
+ * @param config The audio encoding parameters. See VeLiveAudioEncoderConfiguration {@link #VeLiveAudioEncoderConfiguration} for details.
750
+ * @notes
751
+ * This method must be called before calling [startPush:](#VeLivePusher-startpush) or [startPushWithUrls:](#VeLivePusher-startpushwithurls).
752
+ * @order 28
753
+ */
160
754
  setAudioEncoderConfiguration(config: VeLiveAudioEncoderConfiguration): void;
161
755
 
756
+ /** {en}
757
+ * @detail api
758
+ * @brief Starts local recording.
759
+ * @param path The directory for saving the recording file. You cannot leave this parameter empty.
760
+ * @param config The recording configurations. See VeLiveFileRecorderConfiguration {@link #VeLiveFileRecorderConfiguration} for details.
761
+ * @param listener The listener for recording events. See VeLiveFileRecordingListener {@link #VeLiveFileRecordingListener} for details.
762
+ * @order 44
763
+ */
162
764
  startFileRecording(path: NSString, config: VeLiveFileRecorderConfiguration, listener: id<VeLiveFileRecordingListener>): void;
163
765
 
766
+ /** {en}
767
+ * @detail api
768
+ * @brief Stops local recording.
769
+ * @notes
770
+ * This method must be called after calling [startFileRecording](#VeLivePusher-startfilerecording-config-listener).
771
+ * @order 46
772
+ */
164
773
  stopFileRecording(): void;
165
774
 
775
+ /** {en}
776
+ * @detail api
777
+ * @brief Gets the camera manager. With the camera manager, you can do the following:
778
+ * - Control the flashlight
779
+ * - Set the camera zoom
780
+ * - Set autofocus
781
+ * @notes
782
+ * To use this method, you must first call [startVideoCapture:](#VeLivePusher-startvideocapture) and set [VeLiveVideoCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveVideoCaptureType) to `VeLiveVideoCaptureFrontCamera` or `VeLiveVideoCaptureBackCamera`.
783
+ * @order 32
784
+ * @return
785
+ * The camera manager. See [VeLiveCameraDevice](#VeLiveCameraDevice) for details.
786
+ */
166
787
  getCameraDevice(): VeLiveCameraDevice;
167
788
 
789
+ /** {en}
790
+ * @detail api
791
+ * @brief Gets the audio device manager.
792
+ * @notes
793
+ * To use this method, you must first call [startAudioCapture:](#VeLivePusher-startaudiocapture) and set [VeLiveAudioCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveAudioCaptureType) to `VeLiveAudioCaptureMicrophone`.
794
+ * @order 33
795
+ * @return
796
+ * The audio device manager. See [VeLiveAudioDevice](#VeLiveAudioDevice) for details.
797
+ */
168
798
  getAudioDevice(): VeLiveAudioDevice;
169
799
 
800
+ /** {en}
801
+ * @detail api
802
+ * @brief Gets the special effects manager. With the special effects manager, you can do the following:
803
+ * - Set beauty AR
804
+ * - Set special effects
805
+ * - Set materials
806
+ * - Set stickers
807
+ * - Set filters
808
+ * @notes <br>
809
+ * You must first integrate the BytePlus Effects SDK before calling this method.
810
+ * @order 31
811
+ * @return
812
+ * The special effects manager. See [VeLiveVideoEffectManager](#VeLiveVideoEffectManager) for details.
813
+ */
170
814
  getVideoEffectManager(): VeLiveVideoEffectManager;
171
815
 
816
+ /** {en}
817
+ * @detail api
818
+ * @brief Creates the media player.
819
+ * @order 3
820
+ * @return
821
+ * The media player. See [VeLiveMediaPlayer](#VeLiveMediaPlayer) for details.
822
+ */
172
823
  createPlayer(): VeLiveMediaPlayer;
173
824
 
825
+ /** {en}
826
+ * @detail api
827
+ * @brief Sets a protocol for custom video processing.
828
+ * @param filter The protocol for custom video processing. See VeLiveVideoFrameFilter {@link #VeLiveVideoFrameFilter} for details.
829
+ * @order 36
830
+ */
174
831
  setVideoFrameFilter(filter: id<VeLiveVideoFrameFilter>): void;
175
832
 
833
+ /** {en}
834
+ * @detail api
835
+ * @brief Sets custom audio processing.
836
+ * @param filter The audio filter. See VeLiveAudioFrameFilter {@link #VeLiveAudioFrameFilter} for details.
837
+ * @order 40
838
+ */
176
839
  setAudioFrameFilter(filter: id<VeLiveAudioFrameFilter>): void;
177
840
 
841
+ /** {en}
842
+ * @detail api
843
+ * @brief Sets the orientation of the pushed video frame. The default orientation is portrait.
844
+ * @param orientation The orientation of the pushed video frame.
845
+ * @order 9
846
+ */
178
847
  setOrientation(orientation: UIInterfaceOrientation): void;
179
848
 
849
+ /** {en}
850
+ * @detail api
851
+ * @brief Sets a watermark for the pushed stream.
852
+ * @param image The watermark image. Setting it to null means disabling watermarking.
853
+ * @param x The horizontal offset of the watermark, which represents the ratio of the distance between the left edge of the watermark and the left edge of the video to the width of the video. The value range is [0.0,1.0].
854
+ * @param y The vertical offset of the watermark, which represents the ratio of the distance between the top edge of the watermark and the top edge of the video to the height of the video. The value range is [0.0,1.0].
855
+ * @param scale The uniform scaling of the watermark. The value range is [0.0,1.0].
856
+ * @order 35
857
+ * @return <br>
858
+ * - 0: Success;
859
+ * - <0: Failure.
860
+ */
180
861
  setWatermark(image: UIImage, x: float, y: float, scale: float): Promise<int>;
181
862
 
863
+ /** {en}
864
+ * @detail api
865
+ * @brief Takes a screenshot.
866
+ * @param listener The listener for the screenshot. See VeLiveSnapshotListener {@link #VeLiveSnapshotListener} for details.
867
+ * @order 34
868
+ */
182
869
  snapshot(listener: id<VeLiveSnapshotListener>): void;
183
870
 
871
+ /** {en}
872
+ * @detail api
873
+ * @brief Sends an SEI message through the video frame. The SEI messages are strings in JSON format.
874
+ * @param key The JSON key.
875
+ * @param value The JSON value.
876
+ * @param repeat The number of times the message is sent. For example, if you set `repeat` to `20` and set `isKeyFrame` to `YES`, the SDK will add the SEI message to 20 consecutive key frames starting from the time the method is called.
877
+ * @param isKeyFrame Whether to add the SEI message to key frames only. <br>
878
+ * - YES: Add the SEI message to key frames only.
879
+ * - NO: Add the SEI message to all types of frames.
880
+ * @param allowsCovered Whether to allow overwriting. <br>
881
+ * - YES: Allow overwriting.
882
+ * - NO: Do not allow overwriting.
883
+ * @notes
884
+ * This method must be called after calling [startPush:](#VeLivePusher-startpush) or [startPushWithUrls:](#VeLivePusher-startpushwithurls).
885
+ * @order 41
886
+ * @return <br>
887
+ * - 0: Success;
888
+ * - <0: Failure.
889
+ */
184
890
  sendSeiMessage(key: NSString, value: id, repeat: int, isKeyFrame: BOOL, allowsCovered: BOOL): int;
185
891
 
892
+ /** {en}
893
+ * @detail api
894
+ * @brief Pushes an external video frame.
895
+ * @notes
896
+ * Before calling this method, you must first call [startVideoCapture:](#VeLivePusher-startvideocapture) and set [VeLiveVideoCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveVideoCaptureType) to `VeLiveVideoCaptureExternal`.
897
+ * @order 37
898
+ * @param frame The external video frame. See VeLiveVideoFrame {@link #VeLiveVideoFrame} for details.
899
+ * @return <br>
900
+ * - 0: Success;
901
+ * - <0: Failure.
902
+ */
186
903
  pushExternalVideoFrame(frame: VeLiveVideoFrame): int;
187
904
 
905
+ /** {en}
906
+ * @detail api
907
+ * @brief Pushes an external encoded video frame.
908
+ * @notes
909
+ * Before calling this method, you must first call [startVideoCapture:](#VeLivePusher-startvideocapture) and set [VeLiveVideoCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveVideoCaptureType) to `VeLiveVideoCaptureFrontCamera` or `VeLiveVideoCaptureExternal`.
910
+ * @order 38
911
+ * @param encodeFrame The external encoded video frame. See VeLiveVideoEncodeFrame {@link #VeLiveVideoEncodeFrame} for details.
912
+ * @return <br>
913
+ * - 0: Success;
914
+ * - <0: Failure.
915
+ */
188
916
  pushExternalVideoEncodeFrame(encodeFrame: VeLiveVideoEncodeFrame): int;
189
917
 
918
+ /** {en}
919
+ * @detail api
920
+ * @brief Pushes an external audio frame.
921
+ * @param frame The external audio frame. See VeLiveAudioFrame {@link #VeLiveAudioFrame} for details.
922
+ * @notes
923
+ * To use this method, you must first call [startAudioCapture:](#VeLivePusher-startaudiocapture) and set [VeLiveAudioCaptureType](docs-broadcast-sdk-for-ios-type-definition#VeLiveAudioCaptureType) to `VeLiveAudioCaptureExternal`.
924
+ * @order 39
925
+ * @return <br>
926
+ * - 0: Success;
927
+ * - <0: Failure.
928
+ */
190
929
  pushExternalAudioFrame(frame: VeLiveAudioFrame): int;
191
930
 
931
+ /** {en}
932
+ * @detail api
933
+ * @brief Set advanced configurations. You can [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for more information about how to use this method.
934
+ * @param key The JSON key.
935
+ * @param value The JSON value. We recommend that you set it to an NSDictionary or NSString object.
936
+ * @order 42
937
+ * @return <br>
938
+ * - 0: Success;
939
+ * - -1: Failure.
940
+ */
192
941
  setProperty(key: NSString, value: id): int;
193
942
 
943
+ /** {en}
944
+ * @detail api
945
+ * @brief Request to encode a new IDR frame.
946
+ * @notes
947
+ * This method must be called after calling [startPush:](#VeLivePusher-startpush) or [startPushWithUrls:](#VeLivePusher-startpushwithurls).
948
+ * @order 49
949
+ */
194
950
  requestIDRFrame(): void;
195
951
  }
196
952
  export declare class VeLiveVideoEffectManager {
197
953
 
954
+ /** {en}
955
+ * @detail api
956
+ * @brief Initializes the special effects manager.
957
+ * @param config The special effects configurations. See VeLiveVideoEffectLicenseConfiguration {@link #VeLiveVideoEffectLicenseConfiguration} for details.
958
+ * @order 76
959
+ * @return <br>
960
+ * - 0: Success;
961
+ * - -1: Failure.
962
+ */
198
963
  setupWithConfig(config: VeLiveVideoEffectLicenseConfiguration): int;
199
964
 
965
+ /** {en}
966
+ * @detail api
967
+ * @brief Updates the special effects license after the existing license expires. This method is effective only if you authenticate the license online.
968
+ * @param completion The result callback.
969
+ * @notes
970
+ * - Call this method after you set the video effects license by calling [setupWithConfig:](#VeLiveVideoEffectManager-setupwithconfig);
971
+ * - This method is an asynchronous operation.
972
+ * @order 76
973
+ */
200
974
  updateLicense(completion: (result: number, message: string) => void): void;
201
975
 
976
+ /** {en}
977
+ * @detail api
978
+ * @brief Sets the path to the algorithm models of the special effects.
979
+ * @param path The path to the algorithm models of the special effects.
980
+ * @notes
981
+ * Call this method after you set the special effects license by calling [setupWithConfig:](#VeLiveVideoEffectManager-setupwithconfig).
982
+ * @order 77
983
+ * @return <br>
984
+ * - 0: Success;
985
+ * - -1: Failure.
986
+ */
202
987
  setAlgoModelPath(path: NSString): int;
203
988
 
989
+ /** {en}
990
+ * @detail api
991
+ * @brief Creates or destroys the special effects engine.
992
+ * @notes
993
+ * - Call this method after calling [setupWithConfig:](#VeLiveVideoEffectManager-setupwithconfig) and [setAlgoModelPath:](#VeLiveVideoEffectManager-setalgomodelpath).
994
+ * - This method does not enable or disable video special effects. Call [setComposeNodes:](#VeLiveVideoEffectManager-setcomposenodes) after calling this method to enable video special effects.
995
+ * - In most cases, the special effects engine will be destroyed when the effects manager is destroyed. However, if you have high performance requirements, you can call this method to manually destroy the special effects engine when you are not using special effects-related features.
996
+ * - Creating or destroying the special effects engine repeatedly can result in increased processing time.
997
+ * @order 78
998
+ * @param enable Whether to create or destroy the special effects engine. <br>
999
+ * - YES: Create.
1000
+ * - NO: (Default) Destroy.
1001
+ * @return <br>
1002
+ * - 0: Success;
1003
+ * - -1: Failure.
1004
+ */
204
1005
  setEnable(enable: BOOL): int;
205
1006
 
1007
+ /** {en}
1008
+ * @detail api
1009
+ * @brief Sets the special effects you want to apply to the video. You can choose effects from ComposeMakeup.bundle.
1010
+ * @notes
1011
+ * - Call this method after calling [setEnable:](#VeLiveVideoEffectManager-setenable).
1012
+ * - If you make multiple calls to this method, only the last call takes effect.
1013
+ * - To add more effects to the existing effects settings, call [appendComposeNodes:](#VeLiveVideoEffectManager-appendcomposenodes).
1014
+ * @order 79
1015
+ * @param nodes The paths to the special effects resources.
1016
+ * @return <br>
1017
+ * - 0: Success.
1018
+ * - -1: Failure.
1019
+ */
206
1020
  setComposeNodes(nodes: NSArray<NSString>): int;
207
1021
 
1022
+ /** {en}
1023
+ * @detail api
1024
+ * @brief Adds one or more effects to the existing effects settings that you have configured with [setComposeNodes:](#VeLiveVideoEffectManager-setcomposenodes).
1025
+ * @notes Call this method after calling [setEnable:](#VeLiveVideoEffectManager-setenable).
1026
+ * @order 80
1027
+ * @param nodes The paths to the special effects resources.
1028
+ * @return <br>
1029
+ * - 0: Success.
1030
+ * - -1: Failure.
1031
+ */
208
1032
  appendComposeNodes(nodes: NSArray<NSString>): int;
209
1033
 
1034
+ /** {en}
1035
+ * @detail api
1036
+ * @brief Removes one or more special effects resources set by the [setComposeNodes:](#VeLiveVideoEffectManager-setcomposenodes) or [ppendComposeNodes:](#VeLiveVideoEffectManager-appendcomposenodes) methods.
1037
+ * @notes Call this method after calling [setEnable:](#VeLiveVideoEffectManager-setenable).
1038
+ * @order 81
1039
+ * @param nodes The paths to the special effects resources.
1040
+ * @return <br>
1041
+ * - 0: Success.
1042
+ * - -1: Failure.
1043
+ */
210
1044
  removeComposeNodes(nodes: NSArray<NSString>): int;
211
1045
 
1046
+ /** {en}
1047
+ * @detail api
1048
+ * @brief Sets the intensity of a special effect.
1049
+ * @notes
1050
+ * - Call this method after calling [setComposeNodes:](#VeLiveVideoEffectManager-setcomposenodes) or [appendComposeNodes:](#VeLiveVideoEffectManager-appendcomposenodes).
1051
+ * - This method is only applicable to special effects that contain the three parameters mentioned above. For effects that do not have the intensity parameter, such as stickers, the method does not have any effect.
1052
+ * @order 82
1053
+ * @param node The path to the special effects resource.
1054
+ * @param key The key of the resource.
1055
+ * @param intensity The intensity of the effect. The value range is [0.0, 1.0]
1056
+ * @return <br>
1057
+ * - 0: Success.
1058
+ * - -1: Failure.
1059
+ */
212
1060
  updateComposerNodeIntensity(node: NSString, key: NSString, intensity: float): int;
213
1061
 
1062
+ /** {en}
1063
+ * @detail api
1064
+ * @brief Sets the color filter.
1065
+ * @notes
1066
+ * Call this method after calling [setEnable:](#VeLiveVideoEffectManager-setenable).
1067
+ * @order 83
1068
+ * @param path The absolute path to the filter resource.
1069
+ * @return <br>
1070
+ * - 0: Success.
1071
+ * - -1: Failure.
1072
+ */
214
1073
  setFilter(path: NSString): int;
215
1074
 
1075
+ /** {en}
1076
+ * @detail api
1077
+ * @brief Sets the intensity of the color filter.
1078
+ * @param intensity The intensity. The value range is [0.0, 1.0].
1079
+ * @notes
1080
+ * Call this method after calling [setFilter:](#VeLiveVideoEffectManager-setfilter).
1081
+ * @order 84
1082
+ * @return <br>
1083
+ * - 0: Success.
1084
+ * - -1: Failure.
1085
+ */
216
1086
  updateFilterIntensity(intensity: float): int;
217
1087
 
1088
+ /** {en}
1089
+ * @detail api
1090
+ * @brief Sets the sticker.
1091
+ * @param path The absolute path to the sticker resource.
1092
+ * @notes
1093
+ * Call this method after calling [setEnable:](#VeLiveVideoEffectManager-setenable).
1094
+ * @order 85
1095
+ * @return <br>
1096
+ * - 0: Success.
1097
+ * - -1: Failure.
1098
+ */
218
1099
  setSticker(path: NSString): int;
219
1100
 
1101
+ /** {en}
1102
+ * @detail api
1103
+ * @brief Advanced settings for special effects.
1104
+ * @notes
1105
+ * Call the method after calling [setEnable:](#VeLiveVideoEffectManager-setenable). Do not perform frequent synchronization operations in the main thread.
1106
+ * @param callback A callback function that takes a handle as an argument.
1107
+ * @param isGLThread Whether the callback is called in the GL thread.
1108
+ * @param isAsync Whether the callback is executed synchronously.
1109
+ */
220
1110
  setAdvancedFeature(callback: (handle: void) => void, isGLThread: BOOL, isAsync: BOOL): void;
221
1111
  init(): this;
222
1112
  }