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