@volcengine/react-native-live-pull 1.3.2-rc.0 → 1.4.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/android/src/main/java/com/volcengine/velive/rn/pull/EnvHelper.java +15 -0
  2. package/android/src/main/java/com/volcengine/velive/rn/pull/LoggerHelper.java +40 -0
  3. package/ios/VeLivePlayerHelper.h +14 -0
  4. package/ios/VeLivePlayerHelper.m +58 -0
  5. package/ios/VeLivePlayerLoggerHelper.h +14 -0
  6. package/ios/VeLivePlayerLoggerHelper.m +42 -0
  7. package/ios/VeLivePlayerMultiObserver.h +0 -1
  8. package/lib/commonjs/index.js +14620 -0
  9. package/lib/module/index.js +14608 -0
  10. package/lib/typescript/codegen/android/api.d.ts +319 -0
  11. package/lib/typescript/codegen/android/callback.d.ts +206 -0
  12. package/lib/typescript/codegen/android/errorcode.d.ts +177 -0
  13. package/lib/typescript/codegen/android/external.d.ts +1 -0
  14. package/lib/typescript/codegen/android/index.d.ts +6 -0
  15. package/lib/typescript/codegen/android/keytype.d.ts +753 -0
  16. package/lib/typescript/codegen/android/types.d.ts +31 -0
  17. package/lib/typescript/codegen/ios/api.d.ts +293 -0
  18. package/lib/typescript/codegen/ios/callback.d.ts +176 -0
  19. package/lib/typescript/codegen/ios/errorcode.d.ts +160 -0
  20. package/lib/typescript/codegen/ios/external.d.ts +1 -0
  21. package/lib/typescript/codegen/ios/index.d.ts +6 -0
  22. package/lib/typescript/codegen/ios/keytype.d.ts +697 -0
  23. package/lib/typescript/codegen/ios/types.d.ts +46 -0
  24. package/lib/typescript/codegen/pack/api.d.ts +371 -0
  25. package/lib/typescript/codegen/pack/callback.d.ts +258 -0
  26. package/lib/typescript/codegen/pack/errorcode.d.ts +195 -0
  27. package/lib/typescript/codegen/pack/external.d.ts +1 -0
  28. package/lib/typescript/codegen/pack/index.d.ts +6 -0
  29. package/lib/typescript/codegen/pack/keytype.d.ts +980 -0
  30. package/lib/typescript/codegen/pack/types.d.ts +68 -0
  31. package/lib/typescript/component.d.ts +15 -0
  32. package/lib/typescript/core/api.d.ts +114 -0
  33. package/lib/typescript/core/appState.d.ts +3 -0
  34. package/lib/typescript/core/callback.d.ts +53 -0
  35. package/lib/typescript/core/env.d.ts +36 -0
  36. package/lib/typescript/core/errorcode.d.ts +1 -0
  37. package/lib/typescript/core/index.d.ts +6 -0
  38. package/lib/typescript/core/keytype.d.ts +33 -0
  39. package/lib/typescript/core/player.d.ts +14 -0
  40. package/lib/typescript/index.d.ts +3 -0
  41. package/lib/typescript/platforms/android/extends.d.ts +42 -0
  42. package/lib/typescript/platforms/android/pictureInpicture.d.ts +26 -0
  43. package/lib/typescript/platforms/ios/extends.d.ts +46 -0
  44. package/lib/typescript/platforms/ios/pictureInpicture.d.ts +32 -0
  45. package/lib/typescript/runtime/index.d.ts +1 -0
  46. package/package.json +3 -3
@@ -0,0 +1,319 @@
1
+ import { String, SurfaceHolder, Surface, float, Map, List, int } from './types';
2
+ import { VeLivePlayerLogLevel, VeLivePlayerConfiguration, VeLivePlayerFillMode, VeLivePlayerStreamData, VeLivePlayerResolution, VeLivePlayerPixelFormat, VeLivePlayerVideoBufferType, VeLivePlayerAudioBufferType, VeLivePlayerRotation, VeLivePlayerMirror } from './keytype';
3
+ import { VeLivePlayerObserver } from './callback';
4
+ import { ApplicationContext } from './external';
5
+ export declare class VeLivePlayer {
6
+ /** {zh}
7
+ * @detail api
8
+ * @brief 获取播放器 SDK 的版本号。
9
+ * @return <br>
10
+ * 播放器 SDK 版本号。
11
+ * @order 4
12
+ *
13
+ */
14
+
15
+ static getVersion(): String;
16
+ /** {zh}
17
+ * @detail api
18
+ * @brief 设置打印的日志级别。
19
+ * @order 5
20
+ * @param logLevel 日志级别,详情请参见 [VeLivePlayerLogLevel](188115#VeLivePlayerLogLevel) 。
21
+ *
22
+ */
23
+
24
+ static setLogLevel(logLevel: VeLivePlayerLogLevel): void;
25
+ constructor(context: ApplicationContext);
26
+ /** {zh}
27
+ * @detail api
28
+ * @brief 初始化播放器,用于设置是否开启 SEI 消息、是否开启硬件解码和是否开启本地 DNS 预解析等配置信息。
29
+ * @notes
30
+ * 需要在调用 [play](#VeLivePlayer-play) 开始播放之前,调用本方法进行播放器的初始化。
31
+ * @order 1
32
+ * @param config 播放器配置信息,详情请参见 VeLivePlayerConfiguration{@link #VeLivePlayerConfiguration}。
33
+ *
34
+ */
35
+
36
+ setConfig(config: VeLivePlayerConfiguration): void;
37
+ /** {zh}
38
+ * @detail api
39
+ * @brief 设置播放器回调,用于监听播放器 VeLivePlayer 的播放错误、播放状态、音视频首帧渲染状态和清晰度档位信息等回调事件。
40
+ * @notes <br>需要在调用 [play](#VeLivePlayer-play) 开始播放之前,调用本方法设置回调。
41
+ * @order 2
42
+ * @param observer 播放器的事件回调对象。详情请参见 VeLivePlayerObserver{@link #VeLivePlayerObserver}。
43
+ *
44
+ */
45
+
46
+ setObserver(observer: VeLivePlayerObserver): void;
47
+ /** {zh}
48
+ * @detail api
49
+ * @brief 设置播放器画面的填充模式。
50
+ * @notes <br>
51
+ * - 如果用于起播设置,需要在调用 [play](#VeLivePlayer-play) 开始播放之前,调用本方法设置视频的填充模式。
52
+ * - 如果用于调节填充模式,可以在播放过程中调用本方法动态调节视频的填充模式。
53
+ * @order 3
54
+ * @param fillMode 设置 SurfaceView 的填充模式,默认值为 `VeLivePlayerFillModeAspectFill`,详情请参见 [VeLivePlayerFillMode](188115#VeLivePlayerFillMode)。
55
+ *
56
+ */
57
+
58
+ setRenderFillMode(fillMode: VeLivePlayerFillMode): Promise<void>;
59
+ /** {zh}
60
+ * @detail api
61
+ * @brief 使用 SurfaceView 播放视频时,通过设置 SurfaceHolder 对象完成视频图像的渲染和播放。
62
+ * @notes
63
+ * 如果同时调用 setSurfaceHolder 和 [setSurface](#VeLivePlayer-setsurface) 设置视频播放画面的 Surface,播放器会优先使用 surfaceHolder 的配置。
64
+ * @order 6
65
+ * @param surfaceHolder SurfaceHolder 对象。
66
+ *
67
+ */
68
+
69
+ setSurfaceHolder(surfaceHolder: SurfaceHolder): void;
70
+ /** {zh}
71
+ * @detail api
72
+ * @brief 使用 SurfaceView 或 TextureView 播放视频时,通过设置 Surface 对象完成视频图像的渲染和播放。
73
+ * @notes
74
+ * 如果同时调用 [setSurfaceHolder](#VeLivePlayer-setsurfaceholder) 和 setSurface 设置视频播放画面的 Surface,播放器会优先使用 surfaceHolder 的配置。
75
+ * @order 7
76
+ * @param surface surface 对象的类型。
77
+ *
78
+ */
79
+
80
+ setSurface(surface: Surface): void;
81
+ /** {zh}
82
+ * @detail api
83
+ * @brief 设置单个直播播放地址。
84
+ * @notes <br>
85
+ * 需要在调用 play{@link #play} 开始播放之前,调用本方法设置单个直播播放地址。
86
+ * @order 8
87
+ * @param url 直播播放地址。
88
+ *
89
+ */
90
+
91
+ setPlayUrl(url: String): void;
92
+ /** {zh}
93
+ * @detail api
94
+ * @brief 多路流信息配置。例如,您需要使用 ABR、手动切档和主备流等依赖多路流的功能,可以调用本方法进行配置。
95
+ * @notes <br>
96
+ * 需要在调用 play{@link #play} 开始播放之前,调用本方法设置多路流信息。
97
+ * @order 8
98
+ * @param streamData 多路流信息配置,详情请参见 [VeLivePlayerStreamData](188115#VeLivePlayerStreamData) 。
99
+ *
100
+ */
101
+
102
+ setPlayStreamData(streamData: VeLivePlayerStreamData): void;
103
+ /** {zh}
104
+ * @detail api
105
+ * @brief 开始/恢复播放。
106
+ * @notes <br>
107
+ * 调用本方法,在播放器完成拉流准备和首帧渲染播放后,都会触发 onPlayerStatusUpdate{@link #VeLivePlayerObserver#onPlayerStatusUpdate} 播放器状态回调。
108
+ * @order 8
109
+ *
110
+ */
111
+
112
+ play(): void;
113
+ /** {zh}
114
+ * @detail api
115
+ * @brief 暂停播放。
116
+ * @notes <br>
117
+ * 调用本方法暂停播放后,会触发 onPlayerStatusUpdate{@link #VeLivePlayerObserver#onPlayerStatusUpdate} 播放器状态回调。
118
+ * @order 8
119
+ *
120
+ */
121
+
122
+ pause(): void;
123
+ /** {zh}
124
+ * @detail api
125
+ * @brief 停止播放,不销毁播放器。
126
+ * @notes <br>
127
+ * 调用本方法停止播放后,会触发 onPlayerStatusUpdate{@link #VeLivePlayerObserver#onPlayerStatusUpdate} 播放器状态回调。
128
+ * @order 8
129
+ *
130
+ */
131
+
132
+ stop(): void;
133
+ /** {zh}
134
+ * @detail api
135
+ * @brief 停止播放,并销毁播放器。
136
+ * @order 8
137
+ *
138
+ */
139
+
140
+ destroy(): void;
141
+ /** {zh}
142
+ * @detail api
143
+ * @brief 切换播放的清晰度档位。
144
+ * @notes - 需要在调用 [setPlayStreamData](#VeLivePlayer-setplaystreamdata) 设置多档位后,调用本方法切换播放器的清晰度档位。
145
+ * - 调用本方法成功切换档位后,会触发清晰度档位变化 [onResolutionSwitch](188112#VeLivePlayerObserver-onresolutionswitch) 回调。
146
+ * @order 8
147
+ * @param resolution 设置清晰度的目标档位,详情请参见 [VeLivePlayerResolution](188115#VeLivePlayerResolution) 。
148
+ * @return <br>
149
+ * - true:成功;
150
+ * - false:失败。
151
+ *
152
+ */
153
+
154
+ switchResolution(resolution: VeLivePlayerResolution): boolean;
155
+ /** {zh}
156
+ * @detail api
157
+ * @brief 检查播放器是否正在播放。
158
+ * @return 是否正在播放。<br>
159
+ * - true:正在播放;
160
+ * - false:未播放。
161
+ * @order 8
162
+ *
163
+ */
164
+
165
+ isPlaying(): boolean;
166
+ /** {zh}
167
+ * @detail api
168
+ * @brief 设置播放器音量。
169
+ * @order 8
170
+ * @param volume 音量大小,默认值为 1.0。取值范围为 0.0~1.0。
171
+ *
172
+ */
173
+
174
+ setPlayerVolume(volume: float): void;
175
+ /** {zh}
176
+ * @detail api
177
+ * @brief 设置是否静音播放。
178
+ * @param mute 是否开启静音播放,默认值为 false。<br>
179
+ * - true:开启;
180
+ * - false:关闭。
181
+ * @order 9
182
+ *
183
+ */
184
+
185
+ setMute(mute: boolean): void;
186
+ /** {zh}
187
+ * @detail api
188
+ * @brief 获取是否处于静音状态。
189
+ * @return 是否处于静音状态。<br>
190
+ * - true:静音;
191
+ * - false:未静音。
192
+ * @order 10
193
+ *
194
+ */
195
+
196
+ isMute(): boolean;
197
+ /** {zh}
198
+ * @detail api
199
+ * @brief 设置域名和服务器的 IP 地址映射关系。
200
+ * @order 11
201
+ * @param hostIpMap 域名和服务器 IP 地址的映射关系列表。其中 `Map` 的 Key 是域名,Value 是 `List` 类型,表示该域名对应的服务器 IP 地址列表。
202
+ * @notes - 使用 setUrlHostIP 对域名和 IP 地址进行映射时,需在初始化配置中关闭 DNS 预解析功能,即 [enableLiveDNS](188115#VeLivePlayerConfiguration-enablelivedns) 设置为 false。
203
+ * - 需要在调用 [play](#VeLivePlayer-play) 开始播放前,调用本方法设置域名和 IP 的映射。
204
+ *
205
+ */
206
+
207
+ setUrlHostIP(hostIpMap: Map<String, List<String>>): void;
208
+ /** {zh}
209
+ * @detail api
210
+ * @brief 设置播放器高级配置。高级配置包括离屏渲染设置、缓冲区最大时长、ABR 码率自适应算法类型等,如需了解详细信息,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
211
+ * @order 12
212
+ * @param key 高级配置的参数名。
213
+ * @param value 参数对应的参数值。
214
+ *
215
+ */
216
+
217
+ setProperty(key: String, value: Object): void;
218
+ /** {zh}
219
+ * @detail api
220
+ * @brief 视频截图。
221
+ * @notes <br>
222
+ * - 本方法仅在视频状态为播放时生效。
223
+ * - 调用本方法截图成功后,会触发 onSnapshotComplete{@link #VeLivePlayerObserver#onSnapshotComplete} 回调,回调消息中包含截图的 Bitmap 对象。
224
+ * @return <br>
225
+ * - 0:当前状态支持截图;
226
+ * - [VeLivePlayerErrorRefused](188113#VeLivePlayerErrorCode-veliveplayererrorrefused) :当前状态不支持截图。
227
+ * @order 13
228
+ *
229
+ */
230
+
231
+ snapshot(): int;
232
+ /** {zh}
233
+ * @detail api
234
+ * @brief 设置视频帧回调。
235
+ * @notes <br>
236
+ * - 您可以在使用外部渲染的场景下调用本方法,订阅视频帧的解码数据。
237
+ * - 调用本方法后,会触发 onRenderVideoFrame{@link #VeLivePlayerObserver#onRenderVideoFrame} 回调,回调消息中包含每个视频帧的详细数据。
238
+ * - 如果您使用外部渲染,需要保证音视频同步。
239
+ * @order 14
240
+ * @param enable 是否开启视频帧回调,默认值为 false。 <br>
241
+ * - true:开启;
242
+ * - false:关闭。
243
+ * @param pixelFormat 回调的视频帧像素格式,详情请参见 [VeLivePlayerPixelFormat](188115#VeLivePlayerPixelFormat)。
244
+ * @param bufferType 回调的视频数据封装格式,详情请参见 [VeLivePlayerVideoBufferType](188115#VeLivePlayerVideoBufferType) 。
245
+ *
246
+ */
247
+
248
+ enableVideoFrameObserver(enable: boolean, pixelFormat: VeLivePlayerPixelFormat, bufferType: VeLivePlayerVideoBufferType): void;
249
+ /** {zh}
250
+ * @detail api
251
+ * @brief 设置音频帧回调。
252
+ * @param enable 是否开启音频帧回调,默认值为 false。 <br>
253
+ * - true:开启;
254
+ * - false:关闭。
255
+ * @param enableRendering 是否开启播放器渲染。默认值为 false。<br/>
256
+ * - true:开启;
257
+ * - false:关闭。
258
+ * @param bufferType 音频 buffer 类型,详情请参见 [VeLivePlayerAudioBufferType](188115#VeLivePlayerAudioBufferType)。
259
+ * @notes <br>
260
+ * - 您可以在使用外部渲染的场景下调用本方法,订阅音频帧的解码数据。
261
+ * - 调用本方法后,会触发 onRenderAudioFrame{@link #VeLivePlayerObserver#onRenderAudioFrame} 回调,回调消息中包含每个音频帧的详细数据。
262
+ * - 如果您使用外部渲染,需要保证音视频同步。
263
+ * @order 15
264
+ *
265
+ */
266
+
267
+ enableAudioFrameObserver(enable: boolean, enableRendering: boolean, bufferType: VeLivePlayerAudioBufferType): void;
268
+ /** {zh}
269
+ * @detail api
270
+ * @brief 设置视频顺时针旋转角度。
271
+ * @notes <br>
272
+ * - 支持在播放前和播放中动态修改视频旋转角度。
273
+ * - 每次调用本方法,播放器都将基于图像的原始角度进行旋转。
274
+ * - 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。
275
+ * @order 16
276
+ * @param rotation 视频旋转角度,默认关闭旋转,详情请参见 [VeLivePlayerRotation](188115#VeLivePlayerRotation) 。
277
+ *
278
+ */
279
+
280
+ setRenderRotation(rotation: VeLivePlayerRotation): Promise<void>;
281
+ /** {zh}
282
+ * @detail api
283
+ * @brief 设置视频镜像。
284
+ * @notes <br>
285
+ * - 支持在播放前和播放中动态修改视频镜像方式。
286
+ * - 每次调用本方法,播放器都将基于原始图像进行镜像。
287
+ * - 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。
288
+ * @order 17
289
+ * @param mirror 视频镜像,默认关闭镜像,详情请参见 [VeLivePlayerMirror](188115#VeLivePlayerMirror) 。
290
+ *
291
+ */
292
+
293
+ setRenderMirror(mirror: VeLivePlayerMirror): Promise<void>;
294
+ /** {zh}
295
+ * @detail api
296
+ * @brief 设置是否开启超分。您需要联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)开通超分功能后才可使用该功能。
297
+ * @notes <br>
298
+ * - 在首帧回调后,调用该接口开启超分。
299
+ * - 支持播放中调用该接口动态开启和关闭超分。
300
+ * - 如果机型、分辨率和帧率不符合限制,将无法开启超分,并触发 onStreamFailedOpenSuperResolution{@link #VeLivePlayerObserver#onStreamFailedOpenSuperResolution} 回调。
301
+ * @order 18
302
+ * @param enable 是否开启超分。默认值为 false。<br>
303
+ * - true:开启;
304
+ * - false:关闭。
305
+ *
306
+ */
307
+
308
+ setEnableSuperResolution(enable: boolean): void;
309
+ /** {zh}
310
+ * @brief 设置是否开启视频锐化。
311
+ * @param enable 是否开启视频锐化,默认值为 `false`。
312
+ * - true:开启;
313
+ * - false:关闭。
314
+ *
315
+ */
316
+
317
+ setEnableSharpen(enable: boolean): void;
318
+ addExtraHttpRequestHeadersByUser(headers: Map): void;
319
+ }
@@ -0,0 +1,206 @@
1
+ import { VeLivePlayer } from './api';
2
+ import { VeLivePlayerError } from './errorcode';
3
+ import { long, int, String, Bitmap } from './types';
4
+ import { VeLivePlayerResolution, VeLivePlayerResolutionSwitchReason, VeLivePlayerStreamType, VeLivePlayerStatus, VeLivePlayerStatistics, VeLivePlayerVideoFrame, VeLivePlayerAudioFrame } from './keytype';
5
+ export declare class VeLivePlayerObserver {
6
+ /** {zh}
7
+ * @detail callback
8
+ * @brief 播放器错误信息回调,播放器出现错误时,触发回调。
9
+ * @order 1
10
+ * @param player 触发该事件回调的播放器对象。
11
+ * @param error 错误信息,详情请参见 [VeLivePlayerError](188113#VeLivePlayerError) 。
12
+ *
13
+ */
14
+
15
+ onError?(player: VeLivePlayer, error: VeLivePlayerError): void;
16
+ /** {zh}
17
+ * @detail callback
18
+ * @brief 视频首帧渲染事件回调。视频首帧渲染成功,或播放过程中发生重试,重试后的第一个视频帧渲染成功,均会触发此回调。
19
+ * @order 2
20
+ * @param player 触发该事件回调的播放器对象。
21
+ * @param isFirstFrame 渲染成功的是否为视频首帧。<br>
22
+ * - true:视频首帧;
23
+ * - false:重试后第一个视频帧。
24
+ *
25
+ */
26
+
27
+ onFirstVideoFrameRender?(player: VeLivePlayer, isFirstFrame: boolean): void;
28
+ /** {zh}
29
+ * @detail callback
30
+ * @brief 音频首帧渲染事件回调。音频首帧渲染成功,或播放过程中发生重试,重试后的第一个音频帧渲染成功,均会触发此回调。
31
+ * @order 3
32
+ * @param player 触发该事件回调的播放器对象。
33
+ * @param isFirstFrame 渲染成功的是否为音频首帧。<br>
34
+ * - true:音频首帧;
35
+ * - false:重试后第一个音频帧。
36
+ *
37
+ */
38
+
39
+ onFirstAudioFrameRender?(player: VeLivePlayer, isFirstFrame: boolean): void;
40
+ /** {zh}
41
+ * @detail callback
42
+ * @brief 播放卡顿开始回调。
43
+ * @order 4
44
+ * @param player 触发该事件回调的播放器对象。
45
+ *
46
+ */
47
+
48
+ onStallStart?(player: VeLivePlayer): void;
49
+ /** {zh}
50
+ * @detail callback
51
+ * @brief 播放卡顿结束回调。音频缓冲区达到起播条件且开始播放后,触发此回调。
52
+ * @order 5
53
+ * @param player 触发该事件回调的播放器对象。
54
+ *
55
+ */
56
+
57
+ onStallEnd?(player: VeLivePlayer): void;
58
+ /** {zh}
59
+ * @detail callback
60
+ * @brief 视频渲染卡顿回调。视频渲染发生卡顿时,触发此回调。
61
+ * @order 6
62
+ * @param player 触发该事件回调的播放器对象。
63
+ * @param stallTime 视频渲染卡顿时长,单位为 ms。
64
+ *
65
+ */
66
+
67
+ onVideoRenderStall?(player: VeLivePlayer, stallTime: long): void;
68
+ /** {zh}
69
+ * @detail callback
70
+ * @brief 音频渲染卡顿回调。音频渲染发生卡顿时,触发此回调。
71
+ * @order 7
72
+ * @param player 触发该事件回调的播放器对象。
73
+ * @param stallTime 音频渲染卡顿时长,单位为 ms。
74
+ *
75
+ */
76
+
77
+ onAudioRenderStall?(player: VeLivePlayer, stallTime: long): void;
78
+ /** {zh}
79
+ * @detail callback
80
+ * @brief 清晰度档位变化回调。
81
+ * @order 8
82
+ * @param player 触发该事件回调的播放器对象。
83
+ * @param resolution 切换后的清晰度档位,详情请参见 [VeLivePlayerResolution](188115#VeLivePlayerResolution) 。
84
+ * @param error 切换清晰度档位时,是否发生错误,详情请参见 [VeLivePlayerError](188113#VeLivePlayerError) 。
85
+ * @param reason 清晰度档位切换的原因,详情请参见 [VeLivePlayerResolutionSwitchReason](188115#VeLivePlayerResolutionSwitchReason) 。
86
+ *
87
+ */
88
+
89
+ onResolutionSwitch?(player: VeLivePlayer, resolution: VeLivePlayerResolution, error: VeLivePlayerError, reason: VeLivePlayerResolutionSwitchReason): void;
90
+ /** {zh}
91
+ * @detail callback
92
+ * @brief 视频分辨率变化回调。视频大小发生变化时,触发回调。
93
+ * @order 9
94
+ * @param player 触发该事件回调的播放器对象。
95
+ * @param width 变化后的视频宽度,单位为 px。
96
+ * @param height 变化后的视频高度,单位为 px。
97
+ *
98
+ */
99
+
100
+ onVideoSizeChanged?(player: VeLivePlayer, width: int, height: int): void;
101
+ /** {zh}
102
+ * @detail callback
103
+ * @brief 字符串 SEI 消息回调,当播放器 SDK 接收到 SEI 消息时,触发该回调。需要开启 VeLivePlayerConfiguration 中 enableSei 属性。当 enableBinarySei 属性开启时,字符串 SEI 消息将不再发送。
104
+ * @order 10
105
+ * @param player 触发该事件回调的播放器对象。
106
+ * @param message SEI 信息。
107
+ *
108
+ */
109
+
110
+ onReceiveSeiMessage?(player: VeLivePlayer, message: String): void;
111
+ /** {zh}
112
+ * @detail callback
113
+ * @brief 二级制 SEI 消息回调,当播放器 SDK 接收到 SEI 消息时,触发该回调。需要开启 VeLivePlayerConfiguration 中 enableBinarySei 属性。当 enableBinarySei 属性开启时,字符串 SEI 消息将不再发送。
114
+ * @order 10
115
+ * @param player 触发该事件回调的播放器对象。
116
+ * @param message SEI 信息。
117
+ *
118
+ */
119
+
120
+ onReceiveBinarySeiMessage?(player: VeLivePlayer, message: ArrayBuffer): void;
121
+ /** {zh}
122
+ * @detail callback
123
+ * @brief 主备流切换回调。
124
+ * @order 11
125
+ * @param player 触发该事件回调的播放器对象。
126
+ * @param streamType 切换后的流类型为主路流或备路流,详情请参见 [VeLivePlayerStreamType](188115#VeLivePlayerStreamType) 。
127
+ * @param error 触发主备流切换的原因,详情请参见 [VeLivePlayerError](188113#VeLivePlayerError) 。
128
+ *
129
+ */
130
+
131
+ onMainBackupSwitch?(player: VeLivePlayer, streamType: VeLivePlayerStreamType, error: VeLivePlayerError): void;
132
+ /** {zh}
133
+ * @detail callback
134
+ * @brief 播放状态发生变化时,触发回调。
135
+ * @order 12
136
+ * @param player 触发该事件回调的播放器对象。
137
+ * @param status 当前播放器的状态,详情请参见 [VeLivePlayerStatus](188115#VeLivePlayerStatus) 。
138
+ *
139
+ */
140
+
141
+ onPlayerStatusUpdate?(player: VeLivePlayer, status: VeLivePlayerStatus): void;
142
+ /** {zh}
143
+ * @detail callback
144
+ * @brief 播放信息周期性回调。播放器 SDK 会周期性地回调本方法,您可以通过本方法获取当前播放器的播放地址、码率和帧率等信息。
145
+ * @order 13
146
+ * @param player 触发该事件回调的播放器对象。
147
+ * @param statistics 播放器周期性回调的统计信息,详情请参见 [VeLivePlayerStatistics](188115#VeLivePlayerStatistics) 。
148
+ *
149
+ */
150
+
151
+ onStatistics?(player: VeLivePlayer, statistics: VeLivePlayerStatistics): void;
152
+ /** {zh}
153
+ * @detail callback
154
+ * @brief 截图成功回调。当播放器调用 snapshot{@link #VeLivePlayer#snapshot} 截图成功后,会触发此回调。
155
+ * @order 14
156
+ * @param player 触发该事件回调的播放器对象。
157
+ * @param bitmap 截图的 Bitmap 对象。
158
+ *
159
+ */
160
+
161
+ onSnapshotComplete?(player: VeLivePlayer, bitmap: Bitmap): void;
162
+ /** {zh}
163
+ * @detail callback
164
+ * @brief 视频帧回调。调用 enableVideoFrameObserver{@link #VeLivePlayer#enableVideoFrameObserver} 开启视频帧解析回调后,当播放器成功解码视频帧时,会触发此回调。
165
+ * @notes <br>
166
+ * 如果自定义渲染使用纹理格式,建议在视频帧回调线程中执行渲染操作。
167
+ * @order 15
168
+ * @param player 触发该事件回调的播放器对象。
169
+ * @param videoFrame 视频帧数据,包含像素格式、封装格式、视频宽高等信息,详情请参见 [VeLivePlayerVideoFrame](188115#VeLivePlayerVideoFrame) 。
170
+ *
171
+ */
172
+
173
+ onRenderVideoFrame?(player: VeLivePlayer, videoFrame: VeLivePlayerVideoFrame): void;
174
+ /** {zh}
175
+ * @detail callback
176
+ * @brief 音频帧回调。调用 enableAudioFrameObserver{@link #VeLivePlayer#enableAudioFrameObserver} 开启音频帧解析回调后,当播放器成功解码音频帧时,会触发此回调。
177
+ * @notes <br>
178
+ * 回调的音频帧数据为 float32 格式,大端字节序存储。
179
+ * @order 16
180
+ * @param player 触发该事件回调的播放器对象。
181
+ * @param audioFrame 音频数据,详情请参见 [VeLivePlayerAudioFrame](188115#VeLivePlayerAudioFrame) 。
182
+ *
183
+ */
184
+
185
+ onRenderAudioFrame?(player: VeLivePlayer, audioFrame: VeLivePlayerAudioFrame): void;
186
+ /** {zh}
187
+ * @detail callback
188
+ * @brief 超分开启失败。调用 setEnableSuperResolution{@link #VeLivePlayer#setEnableSuperResolution} 开启超分后,当播放器不支持超分开启或者超分处理出错时,会触发此回调。
189
+ * @order 17
190
+ * @param player 触发该事件回调的播放器对象。
191
+ * @param error 超分开启失败原因,错误码请参见 [VeLivePlayerErrorCode](188113#VeLivePlayerError-VeLivePlayerErrorCode) 。
192
+ *
193
+ */
194
+
195
+ onStreamFailedOpenSuperResolution?(player: VeLivePlayer, error: VeLivePlayerError): void;
196
+ /** {zh}
197
+ * @detail callback
198
+ * @brief 锐化开启失败。调用 setEnableSharpen{@link #VeLivePlayer#setEnableSharpen} 开启锐化后,当播放器不支持超分开启或者超分处理出错时,会触发此回调。
199
+ * @param player 触发该事件回调的播放器对象。
200
+ * @param error 锐化开启失败原因。错误码请参见 [VeLivePlayerErrorCode](188113#VeLivePlayerErrorCode)。
201
+ * @order 18
202
+ *
203
+ */
204
+
205
+ onStreamFailedOpenSharpen?(player: VeLivePlayer, error: VeLivePlayerError): void;
206
+ }