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