@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.
- package/android/src/main/java/com/volcengine/velive/rn/pull/EnvHelper.java +15 -0
- package/android/src/main/java/com/volcengine/velive/rn/pull/LoggerHelper.java +40 -0
- package/ios/VeLivePlayerHelper.h +14 -0
- package/ios/VeLivePlayerHelper.m +58 -0
- package/ios/VeLivePlayerLoggerHelper.h +14 -0
- package/ios/VeLivePlayerLoggerHelper.m +42 -0
- package/ios/VeLivePlayerMultiObserver.h +0 -1
- package/lib/commonjs/index.js +14620 -0
- package/lib/module/index.js +14608 -0
- package/lib/typescript/codegen/android/api.d.ts +319 -0
- package/lib/typescript/codegen/android/callback.d.ts +206 -0
- package/lib/typescript/codegen/android/errorcode.d.ts +177 -0
- package/lib/typescript/codegen/android/external.d.ts +1 -0
- package/lib/typescript/codegen/android/index.d.ts +6 -0
- package/lib/typescript/codegen/android/keytype.d.ts +753 -0
- package/lib/typescript/codegen/android/types.d.ts +31 -0
- package/lib/typescript/codegen/ios/api.d.ts +293 -0
- package/lib/typescript/codegen/ios/callback.d.ts +176 -0
- package/lib/typescript/codegen/ios/errorcode.d.ts +160 -0
- package/lib/typescript/codegen/ios/external.d.ts +1 -0
- package/lib/typescript/codegen/ios/index.d.ts +6 -0
- package/lib/typescript/codegen/ios/keytype.d.ts +697 -0
- package/lib/typescript/codegen/ios/types.d.ts +46 -0
- package/lib/typescript/codegen/pack/api.d.ts +371 -0
- package/lib/typescript/codegen/pack/callback.d.ts +258 -0
- package/lib/typescript/codegen/pack/errorcode.d.ts +195 -0
- package/lib/typescript/codegen/pack/external.d.ts +1 -0
- package/lib/typescript/codegen/pack/index.d.ts +6 -0
- package/lib/typescript/codegen/pack/keytype.d.ts +980 -0
- package/lib/typescript/codegen/pack/types.d.ts +68 -0
- package/lib/typescript/component.d.ts +15 -0
- package/lib/typescript/core/api.d.ts +114 -0
- package/lib/typescript/core/appState.d.ts +3 -0
- package/lib/typescript/core/callback.d.ts +53 -0
- package/lib/typescript/core/env.d.ts +36 -0
- package/lib/typescript/core/errorcode.d.ts +1 -0
- package/lib/typescript/core/index.d.ts +6 -0
- package/lib/typescript/core/keytype.d.ts +33 -0
- package/lib/typescript/core/player.d.ts +14 -0
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/platforms/android/extends.d.ts +42 -0
- package/lib/typescript/platforms/android/pictureInpicture.d.ts +26 -0
- package/lib/typescript/platforms/ios/extends.d.ts +46 -0
- package/lib/typescript/platforms/ios/pictureInpicture.d.ts +32 -0
- package/lib/typescript/runtime/index.d.ts +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type String = string;
|
|
2
|
+
export type Boolean = boolean;
|
|
3
|
+
export type Void = void;
|
|
4
|
+
export type int = number;
|
|
5
|
+
export type float = number;
|
|
6
|
+
export type double = number;
|
|
7
|
+
export type long = number;
|
|
8
|
+
export type Integer = number;
|
|
9
|
+
export type Double = number;
|
|
10
|
+
export type List<T = any> = Array<T>;
|
|
11
|
+
export type list<T = any> = Array<T>;
|
|
12
|
+
export type ArrayList<T = any> = Array<T>;
|
|
13
|
+
export type Map<K extends keyof any = any, V = any> = Record<K, V>;
|
|
14
|
+
export type HashMap<K extends keyof any = any, V = any> = Record<K, V>;
|
|
15
|
+
export type Pair<K extends keyof any = any, V = any> = Record<K, V>;
|
|
16
|
+
export type set<T = any> = Set<T>;
|
|
17
|
+
export type map = Object;
|
|
18
|
+
export type struct = Object;
|
|
19
|
+
export type Bitmap = unknown;
|
|
20
|
+
export type EGLContext = unknown;
|
|
21
|
+
export type ByteArray = number;
|
|
22
|
+
export type ByteBuffer = ArrayBuffer;
|
|
23
|
+
export type Matrix = unknown;
|
|
24
|
+
export type SurfaceHolder = unknown;
|
|
25
|
+
export type Surface = unknown;
|
|
26
|
+
export type Runnable = unknown;
|
|
27
|
+
export type View = unknown;
|
|
28
|
+
export type Intent = unknown;
|
|
29
|
+
export type Context = unknown;
|
|
30
|
+
export type Bundle = any;
|
|
31
|
+
export type JSONObject = any;
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { VeLivePlayerLogLevel, VeLivePlayerType, VeLivePlayerConfiguration, VeLivePlayerFillMode, VeLivePlayerStreamData, VeLivePlayerResolution, VeLivePlayerRotation, VeLivePlayerMirror, VeLivePlayerPixelFormat, VeLivePlayerVideoBufferType } from './keytype';
|
|
2
|
+
import { NSString, id, float, BOOL, NSDictionary, int } from './types';
|
|
3
|
+
import { VeLivePlayerObserver } from './callback';
|
|
4
|
+
import { UIView } from './external';
|
|
5
|
+
export declare class TVLManager {
|
|
6
|
+
/** {zh}
|
|
7
|
+
* @detail api
|
|
8
|
+
* @brief 设置打印日志的级别。
|
|
9
|
+
* @order 5
|
|
10
|
+
* @param logLevel 日志级别,详情请参见 [VeLivePlayerLogLevel](188121#VeLivePlayerLogLevel) 。
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
static setLogLevel(logLevel: VeLivePlayerLogLevel): void;
|
|
14
|
+
/** {zh}
|
|
15
|
+
* @detail api
|
|
16
|
+
* @brief 获取播放器 SDK 的版本号。
|
|
17
|
+
* @return
|
|
18
|
+
* 播放器 SDK 版本号。
|
|
19
|
+
* @order 4
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
static getVersion(): NSString;
|
|
23
|
+
/** {zh}
|
|
24
|
+
* @detail keytype
|
|
25
|
+
* @brief 播放器的回调事件监听器。
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
observer: id<VeLivePlayerObserver>;
|
|
29
|
+
/** {zh}
|
|
30
|
+
* @detail keytype
|
|
31
|
+
* @brief 获取播放器内部用于渲染视频画面的视图 view,调用本方法将 playerView 添加到应用的视图层级中,实现视频内容显示。
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
playerView: UIView;
|
|
35
|
+
/** {zh}
|
|
36
|
+
* @detail keytype
|
|
37
|
+
* @brief 设置或获取播放器播放音量,默认值为 1.0。取值范围为 0.0~1.0。
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
volume: float;
|
|
41
|
+
/** {zh}
|
|
42
|
+
* @detail keytype
|
|
43
|
+
* @brief 检查播放器是否正在播放。
|
|
44
|
+
* @return 是否正在播放。<br>
|
|
45
|
+
* - YES:正在播放;
|
|
46
|
+
* - NO:未播放。
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
isPlaying: BOOL;
|
|
50
|
+
/** {zh}
|
|
51
|
+
* @detail api
|
|
52
|
+
* @brief 播放器初始化方法。
|
|
53
|
+
* @order 9
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
init(): this;
|
|
57
|
+
/** {zh}
|
|
58
|
+
* @brief 初始化特定类型的播放器。
|
|
59
|
+
* @param type 播放器类型,详情请参见 [VeLivePlayerType](188121#VeLivePlayerType)。
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
initWithType(type: VeLivePlayerType): this;
|
|
63
|
+
/** {zh}
|
|
64
|
+
* @detail api
|
|
65
|
+
* @brief 初始化播放器,用于设置是否开启 SEI 消息、是否开启硬件解码和是否开启本地 DNS 预解析等配置信息。
|
|
66
|
+
* @notes
|
|
67
|
+
* 需要在调用 play{@link #VeLivePlayer#play} 开始播放之前,调用本方法进行播放器的初始化。
|
|
68
|
+
* @param config 播放器配置信息,详情请参见 VeLivePlayerConfiguration{@link #VeLivePlayerConfiguration}。
|
|
69
|
+
* @order 1
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
setConfig(config: VeLivePlayerConfiguration): void;
|
|
73
|
+
/** {zh}
|
|
74
|
+
* @detail api
|
|
75
|
+
* @brief 设置播放器回调,用于监听播放器 VeLivePlayer 的播放错误、播放状态、音视频首帧渲染状态和清晰度档位信息等回调事件。
|
|
76
|
+
* @notes
|
|
77
|
+
* 需要在调用 play{@link #VeLivePlayer#play} 开始播放之前,调用本方法设置回调。
|
|
78
|
+
* @param observer 播放器的事件回调对象。详情请参见 VeLivePlayerObserver{@link #VeLivePlayerObserver}。
|
|
79
|
+
* @order 2
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
setObserver(observer: id<VeLivePlayerObserver>): void;
|
|
83
|
+
/** {zh}
|
|
84
|
+
* @detail api
|
|
85
|
+
* @brief 设置播放器画面的填充模式。
|
|
86
|
+
* @notes
|
|
87
|
+
* - 如果用于起播设置,需要在调用 [play](#TVLManager(VeLivePlayer)-play) 开始播放之前,调用本方法设置视频的填充模式。
|
|
88
|
+
* - 如果用于调节填充模式,可以在播放过程中调用本方法动态调节视频的填充模式。
|
|
89
|
+
* @order 3
|
|
90
|
+
* @param fillMode 设置 SurfaceView 的填充模式,默认值为 `VeLivePlayerFillModeAspectFill`,详情请参见 [VeLivePlayerFillMode](188121#VeLivePlayerFillMode)。
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
setRenderFillMode(fillMode: VeLivePlayerFillMode): Promise<void>;
|
|
94
|
+
/** {zh}
|
|
95
|
+
* @detail api
|
|
96
|
+
* @brief 设置单个直播播放地址。
|
|
97
|
+
* @notes
|
|
98
|
+
* 需要在调用 [play](#TVLManager(VeLivePlayer)-play) 开始播放之前,调用本方法设置单个直播播放地址。
|
|
99
|
+
* @order 6
|
|
100
|
+
* @param url 直播播放地址
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
setPlayUrl(url: NSString): void;
|
|
104
|
+
/** {zh}
|
|
105
|
+
* @detail api
|
|
106
|
+
* @brief 设置域名和服务器的 IP 地址映射关系。
|
|
107
|
+
* @param hostIpMap 域名和服务器 IP 地址的映射关系列表。其中 `Map` 的 Key 是域名,Value 是 `List` 类型,表示该域名对应的服务器 IP 地址列表
|
|
108
|
+
* @order 17
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
setUrlHostIP(hostIpMap: NSDictionary): void;
|
|
112
|
+
/** {zh}
|
|
113
|
+
* @detail api
|
|
114
|
+
* @brief 设置播放器高级配置。高级配置包括离屏渲染设置、缓冲区最大时长、ABR 码率自适应算法类型等,如需了解详细信息,请联系[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
115
|
+
* @order 18
|
|
116
|
+
* @param key 高级配置的参数名。
|
|
117
|
+
* @param value 参数对应的参数值。
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
setProperty(key: NSString, value: id): void;
|
|
121
|
+
/** {zh}
|
|
122
|
+
* @detail api
|
|
123
|
+
* @brief 多路流信息配置。例如,您需要使用 ABR、手动切档和主备流等依赖多路流的功能,可以调用本方法进行配置。
|
|
124
|
+
* @notes
|
|
125
|
+
* 需要在调用 play{@link #VeLivePlayer#play} 开始播放之前,调用本方法设置多路流信息。
|
|
126
|
+
* @order 7
|
|
127
|
+
* @param streamData 多路流信息配置。详情请参见 [VeLivePlayerStreamData](188121#VeLivePlayerStreamData) 。
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
setPlayStreamData(streamData: VeLivePlayerStreamData): void;
|
|
131
|
+
/** {zh}
|
|
132
|
+
* @detail api
|
|
133
|
+
* @brief 开始/恢复播放。
|
|
134
|
+
* @notes
|
|
135
|
+
* 调用本方法,在播放器完成拉流准备和首帧渲染播放后,都会触发 [onPlayerStatusUpdate:status:](188119#VeLivePlayerObserver-onplayerstatusupdate-status) 播放器状态回调。
|
|
136
|
+
* @order 10
|
|
137
|
+
*/
|
|
138
|
+
|
|
139
|
+
play(): Promise<void>;
|
|
140
|
+
/** {zh}
|
|
141
|
+
* @detail api
|
|
142
|
+
* @brief 暂停播放。
|
|
143
|
+
* @notes 调用本方法暂停播放后,会触发 [onPlayerStatusUpdate:status:](188119#VeLivePlayerObserver-onplayerstatusupdate-status) 播放器状态回调。
|
|
144
|
+
* @order 11
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
pause(): Promise<void>;
|
|
148
|
+
/** {zh}
|
|
149
|
+
* @detail api
|
|
150
|
+
* @brief 停止播放,不销毁播放器。
|
|
151
|
+
* @notes 调用本方法停止播放后,会触发 [onPlayerStatusUpdate:status:](188119#VeLivePlayerObserver-onplayerstatusupdate-status) 播放器状态回调。
|
|
152
|
+
* @order 12
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
stop(): Promise<void>;
|
|
156
|
+
/** {zh}
|
|
157
|
+
* @detail api
|
|
158
|
+
* @brief 停止播放,并销毁播放器。
|
|
159
|
+
* @order 13
|
|
160
|
+
*/
|
|
161
|
+
|
|
162
|
+
destroy(): void;
|
|
163
|
+
/** {zh}
|
|
164
|
+
* @brief 检查播放器当前是否支持指定的分辨率档位。
|
|
165
|
+
* @param resolution 分辨率档位,详情请参见 [VeLivePlayerResolution](188121#VeLivePlayerResolution)。
|
|
166
|
+
* @return - 0:支持;
|
|
167
|
+
* - 其他:不支持。其他返回值详情请参见 [VeLivePlayerSupportResolutionSwitchError](188121#VeLivePlayerSupportResolutionSwitchError)。
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
isSupportResolutionSwitch(resolution: VeLivePlayerResolution): int;
|
|
171
|
+
/** {zh}
|
|
172
|
+
* @detail api
|
|
173
|
+
* @brief 切换播放的清晰度档位。
|
|
174
|
+
* @notes
|
|
175
|
+
* - 需要在调用 [setPlayStreamData:](#TVLManager(VeLivePlayer)-setplaystreamdata) 设置多档位后,调用本方法切换播放器的清晰度档位。
|
|
176
|
+
* - 调用本方法成功切换档位后,会触发清晰度档位变化 [onResolutionSwitch:resolution:error:reason:](188119#VeLivePlayerObserver-onresolutionswitch-resolution-error-reason) 回调。
|
|
177
|
+
* @order 14
|
|
178
|
+
* @param resolution 设置清晰度的目标档位,详情请参见 [VeLivePlayerResolution](188121#VeLivePlayerResolution) 。
|
|
179
|
+
* @return
|
|
180
|
+
* - YES:成功;
|
|
181
|
+
* - NO:失败。
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
switchResolution(resolution: VeLivePlayerResolution): void;
|
|
185
|
+
/** {zh}
|
|
186
|
+
* @detail api
|
|
187
|
+
* @brief 设置是否静音播放。
|
|
188
|
+
* @param mute 是否开启静音播放,默认值为 NO。<br>
|
|
189
|
+
* - YES:开启;
|
|
190
|
+
* - NO:关闭。
|
|
191
|
+
* @order 15
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
setMute(mute: BOOL): void;
|
|
195
|
+
/** {zh}
|
|
196
|
+
* @detail api
|
|
197
|
+
* @brief 获取是否处于静音状态。
|
|
198
|
+
* @return 是否处于静音状态。<br>
|
|
199
|
+
* - YES:静音;
|
|
200
|
+
* - NO:未静音。
|
|
201
|
+
* @order 16
|
|
202
|
+
*/
|
|
203
|
+
|
|
204
|
+
isMute(): BOOL;
|
|
205
|
+
/** {zh}
|
|
206
|
+
* @detail api
|
|
207
|
+
* @brief 设置视频顺时针旋转角度。
|
|
208
|
+
* @notes
|
|
209
|
+
* - 支持在播放前和播放中动态修改视频旋转角度。
|
|
210
|
+
* - 每次调用本方法,播放器都将基于图像的原始角度进行旋转。
|
|
211
|
+
* - 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。
|
|
212
|
+
* @order 23
|
|
213
|
+
* @param rotation 视频旋转角度,默认关闭旋转,详情请参见 [VeLivePlayerRotation](188121#VeLivePlayerRotation) 。
|
|
214
|
+
*/
|
|
215
|
+
|
|
216
|
+
setRenderRotation(rotation: VeLivePlayerRotation): Promise<void>;
|
|
217
|
+
/** {zh}
|
|
218
|
+
* @detail api
|
|
219
|
+
* @brief 设置视频镜像。
|
|
220
|
+
* @notes
|
|
221
|
+
* - 支持在播放前和播放中动态修改视频镜像方式。
|
|
222
|
+
* - 每次调用本方法,播放器都将基于原始图像进行镜像。
|
|
223
|
+
* - 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。
|
|
224
|
+
* @order 24
|
|
225
|
+
* @param mirror 视频镜像,默认关闭镜像,详情请参见 [VeLivePlayerMirror](188121#VeLivePlayerMirror) 。
|
|
226
|
+
*/
|
|
227
|
+
|
|
228
|
+
setRenderMirror(mirror: VeLivePlayerMirror): Promise<void>;
|
|
229
|
+
/** {zh}
|
|
230
|
+
* @detail api
|
|
231
|
+
* @brief 视频截图。
|
|
232
|
+
* @notes
|
|
233
|
+
* - 本方法仅在视频状态为播放时生效。
|
|
234
|
+
* - 调用本方法截图成功后,会触发 [onSnapshotComplete:image:](188119#VeLivePlayerObserver-onsnapshotcomplete-image) 回调,回调消息中包含截图的 UIImage 对象。
|
|
235
|
+
* @order 19
|
|
236
|
+
* @return
|
|
237
|
+
* - 0:当前状态支持截图;
|
|
238
|
+
* - VeLivePlayerErrorRefused{@link #VeLivePlayerErrorCode#VeLivePlayerErrorRefused}:当前状态不支持截图。
|
|
239
|
+
*/
|
|
240
|
+
|
|
241
|
+
snapshot(): int;
|
|
242
|
+
/** {zh}
|
|
243
|
+
* @detail api
|
|
244
|
+
* @brief 设置视频帧回调。
|
|
245
|
+
* @notes
|
|
246
|
+
* - 您可以在使用外部渲染的场景下调用本方法,订阅视频帧的解码数据。
|
|
247
|
+
* - 调用本方法后,会触发 onRenderVideoFrame:videoFrame:回调,回调消息中包含每个视频帧的详细数据。
|
|
248
|
+
* - 如果您使用外部渲染,需要保证音视频同步。
|
|
249
|
+
* @order 20
|
|
250
|
+
* @param enable 是否开启视频帧回调,默认值为 NO。 <br>
|
|
251
|
+
* - YES:开启;
|
|
252
|
+
* - NO:关闭。
|
|
253
|
+
* @param pixelFormat 回调的视频帧像素格式,详情请参见 [VeLivePlayerPixelFormat](188121#VeLivePlayerPixelFormat) 。
|
|
254
|
+
* @param bufferType 回调的视频数据封装格式。详情请参见 [VeLivePlayerVideoBufferType](188121#VeLivePlayerVideoBufferType) 。
|
|
255
|
+
*/
|
|
256
|
+
|
|
257
|
+
enableVideoFrameObserver(enable: BOOL, pixelFormat: VeLivePlayerPixelFormat, bufferType: VeLivePlayerVideoBufferType): void;
|
|
258
|
+
/** {zh}
|
|
259
|
+
* @detail api
|
|
260
|
+
* @brief 设置音频帧回调。
|
|
261
|
+
* @notes
|
|
262
|
+
* - 您可以在使用外部渲染的场景下调用本方法,订阅音频帧的解码数据。
|
|
263
|
+
* - 调用本方法后,会触发 [onRenderAudioFrame:audioFrame:](188119#VeLivePlayerObserver-onrenderaudioframe-audioframe) 回调,回调消息中包含每个音频帧的详细数据。
|
|
264
|
+
* - 如果您使用外部渲染,需要保证音视频同步。
|
|
265
|
+
* @order 21
|
|
266
|
+
* @param enable 是否开启音频帧回调,默认值为 NO。 <br>
|
|
267
|
+
* - YES:开启;
|
|
268
|
+
* - NO:关闭。
|
|
269
|
+
* @param enableRendering 是否开启播放器渲染。默认值为 NO。<br>
|
|
270
|
+
* - YES:开启;
|
|
271
|
+
* - NO:关闭。
|
|
272
|
+
*/
|
|
273
|
+
|
|
274
|
+
enableAudioFrameObserver(enable: BOOL, enableRendering: BOOL): void;
|
|
275
|
+
/** {zh}
|
|
276
|
+
* @detail api
|
|
277
|
+
* @brief 设置是否开启超分。
|
|
278
|
+
* @notes
|
|
279
|
+
* - 在收到首帧回调后,调用该方法开启超分。
|
|
280
|
+
* - 支持在播放中调用该接口,开启或关闭超分。
|
|
281
|
+
* - 如果机型、分辨率和帧率不符合限制,将无法开启超分,并触发 [onStreamFailedOpenSuperResolution:error:](188119#VeLivePlayerObserver-onstreamfailedopensuperresolution-error) 回调。
|
|
282
|
+
* @order 22
|
|
283
|
+
* @param enable 是否开启,默认值为 NO。<br>
|
|
284
|
+
* - YES:开启;
|
|
285
|
+
* - NO:关闭。
|
|
286
|
+
*/
|
|
287
|
+
|
|
288
|
+
setEnableSuperResolution(enable: BOOL): void;
|
|
289
|
+
setVolume(volume: float): void;
|
|
290
|
+
setEnableIgnoreAudioInterruption(enable: BOOL): void;
|
|
291
|
+
setAllowsVideoRendering(enable: BOOL): void;
|
|
292
|
+
addExtraHttpRequestHeadersByUser(headers: NSDictionary): void;
|
|
293
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { TVLManager } from './api';
|
|
2
|
+
import { VeLivePlayerError } from './errorcode';
|
|
3
|
+
import { BOOL, int64_t, int, NSString, NSData, UIImage } 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](188120#VeLivePlayerError) 。
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
onError$error?(player: TVLManager, error: VeLivePlayerError): void;
|
|
15
|
+
/** {zh}
|
|
16
|
+
* @detail callback
|
|
17
|
+
* @brief 视频首帧渲染事件回调。视频首帧渲染成功,或播放过程中发生重试,重试后的第一个视频帧渲染成功,均会触发此回调。
|
|
18
|
+
* @order 2
|
|
19
|
+
* @param player 触发该事件回调的播放器对象。
|
|
20
|
+
* @param isFirstFrame 渲染成功的是否为视频首帧。<br>
|
|
21
|
+
* - YES:视频首帧;
|
|
22
|
+
* - NO:重试后第一个视频帧。
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
onFirstVideoFrameRender$isFirstFrame?(player: TVLManager, isFirstFrame: BOOL): void;
|
|
26
|
+
/** {zh}
|
|
27
|
+
* @detail callback
|
|
28
|
+
* @brief 音频首帧渲染事件回调。音频首帧渲染成功,或播放过程中发生重试,重试后的第一个音频帧渲染成功,均会触发此回调。
|
|
29
|
+
* @param player 触发该事件回调的播放器对象。
|
|
30
|
+
* @param isFirstFrame 渲染成功的是否为音频首帧。<br>
|
|
31
|
+
* - YES:音频首帧;
|
|
32
|
+
* - NO:重试后第一个音频帧。
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
onFirstAudioFrameRender$isFirstFrame?(player: TVLManager, isFirstFrame: BOOL): void;
|
|
36
|
+
/** {zh}
|
|
37
|
+
* @detail callback
|
|
38
|
+
* @brief 播放卡顿开始回调。
|
|
39
|
+
* @param player 触发该事件回调的播放器对象
|
|
40
|
+
* @order 3
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
onStallStart?(player: TVLManager): void;
|
|
45
|
+
/** {zh}
|
|
46
|
+
* @detail callback
|
|
47
|
+
* @brief 播放卡顿结束回调。音频缓冲区达到起播条件且开始播放后,触发此回调。
|
|
48
|
+
* @order 4
|
|
49
|
+
* @param player 触发该事件回调的播放器对象。
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
onStallEnd?(player: TVLManager): void;
|
|
53
|
+
/** {zh}
|
|
54
|
+
* @detail callback
|
|
55
|
+
* @brief 视频渲染卡顿回调。视频渲染发生卡顿时,触发此回调。
|
|
56
|
+
* @param player 触发该事件回调的播放器对象。
|
|
57
|
+
* @param stallTime 视频渲染卡顿时长,单位为 ms。
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
onVideoRenderStall$stallTime?(player: TVLManager, stallTime: int64_t): void;
|
|
61
|
+
/** {zh}
|
|
62
|
+
* @detail callback
|
|
63
|
+
* @brief 音频渲染卡顿回调。音频渲染发生卡顿时,触发此回调。
|
|
64
|
+
* @param player 触发该事件回调的播放器对象。
|
|
65
|
+
* @param stallTime 音频渲染卡顿时长,单位为 ms。
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
onAudioRenderStall$stallTime?(player: TVLManager, stallTime: int64_t): void;
|
|
69
|
+
/** {zh}
|
|
70
|
+
* @detail callback
|
|
71
|
+
* @brief 清晰度档位发生变化回调。
|
|
72
|
+
* @order 5
|
|
73
|
+
* @param player 触发该事件回调的播放器对象。
|
|
74
|
+
* @param resolution 切换后的清晰度档位,详情请参见 [VeLivePlayerResolution](188121#VeLivePlayerResolution) 。
|
|
75
|
+
* @param error 切换清晰度档位时,是否发生错误,详情请参见 [VeLivePlayerError](188120#VeLivePlayerError)。
|
|
76
|
+
* @param reason 清晰度档位切换的原因,详情请参见 [VeLivePlayerResolutionSwitchReason](188121#VeLivePlayerResolutionSwitchReason) 。
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
onResolutionSwitch$resolution$error$reason?(player: TVLManager, resolution: VeLivePlayerResolution, error: VeLivePlayerError, reason: VeLivePlayerResolutionSwitchReason): void;
|
|
80
|
+
/** {zh}
|
|
81
|
+
* @detail callback
|
|
82
|
+
* @brief 视频分辨率变化回调。视频大小发生变化时,触发此回调。
|
|
83
|
+
* @order 6
|
|
84
|
+
* @param player 触发该事件回调的播放器对象。
|
|
85
|
+
* @param width 变化后的视频宽度,单位为 px。
|
|
86
|
+
* @param height 变化后的视频高度,单位为 px。
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
onVideoSizeChanged$width$height?(player: TVLManager, width: int, height: int): void;
|
|
90
|
+
/** {zh}
|
|
91
|
+
* @detail api
|
|
92
|
+
* @brief 字符串 SEI 消息回调,当播放器 SDK 接收到 SEI 消息时,触发该回调。需要开启 VeLivePlayerConfiguration 中 enableSei 属性。当 enableBinarySei 属性开启时,字符串 SEI 消息将不再发送。
|
|
93
|
+
* @order 7
|
|
94
|
+
* @param player 触发该事件回调的播放器对象。
|
|
95
|
+
* @param message SEI 信息。
|
|
96
|
+
*/
|
|
97
|
+
|
|
98
|
+
onReceiveSeiMessage$message?(player: TVLManager, message: NSString): void;
|
|
99
|
+
/** {zh}
|
|
100
|
+
* @detail api
|
|
101
|
+
* @brief 二级制 SEI 消息回调,当播放器 SDK 接收到 SEI 消息时,触发该回调。需要开启 VeLivePlayerConfiguration 中 enableBinarySei 属性。当 enableBinarySei 属性开启时,字符串 SEI 消息将不再发送。
|
|
102
|
+
* @order 7
|
|
103
|
+
* @param player 触发该事件回调的播放器对象。
|
|
104
|
+
* @param message SEI 信息。
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
onReceiveBinarySeiMessage$message?(player: TVLManager, message: NSData): void;
|
|
108
|
+
/** {zh}
|
|
109
|
+
* @detail callback
|
|
110
|
+
* @brief 主备流切换回调。
|
|
111
|
+
* @order 8
|
|
112
|
+
* @param player 触发该事件回调的播放器对象。
|
|
113
|
+
* @param streamType 切换后的流类型为主路流或备路流,详情请参见 [VeLivePlayerStreamType](188121#VeLivePlayerStreamType) 。
|
|
114
|
+
* @param error 触发主备流切换的原因,详情请参见 [VeLivePlayerError](188120#VeLivePlayerError) 。
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
onMainBackupSwitch$streamType$error?(player: TVLManager, streamType: VeLivePlayerStreamType, error: VeLivePlayerError): void;
|
|
118
|
+
/** {zh}
|
|
119
|
+
* @detail callback
|
|
120
|
+
* @brief 播放状态发生变化时,触发此回调。
|
|
121
|
+
* @order 9
|
|
122
|
+
* @param player 触发该事件回调的播放器对象。
|
|
123
|
+
* @param status 当前播放器的状态,详情请参见 [VeLivePlayerStatus](188121#VeLivePlayerStatus) 。
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
onPlayerStatusUpdate$status?(player: TVLManager, status: VeLivePlayerStatus): void;
|
|
127
|
+
/** {zh}
|
|
128
|
+
* @detail callback
|
|
129
|
+
* @brief 播放信息周期性回调。播放器 SDK 会周期性地回调本方法,您可以通过本方法获取当前播放器的播放地址、码率和帧率等信息。
|
|
130
|
+
* @order 10
|
|
131
|
+
* @param player 触发该事件回调的播放器对象。
|
|
132
|
+
* @param statistics 播放器周期性回调的统计信息,详情请参见 [VeLivePlayerStatistics](188121#VeLivePlayerStatistics) 。
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
onStatistics$statistics?(player: TVLManager, statistics: VeLivePlayerStatistics): void;
|
|
136
|
+
/** {zh}
|
|
137
|
+
* @detail callback
|
|
138
|
+
* @brief 截图成功回调。当播放器调用 snapshot{@link #VeLivePlayer#snapshot} 截图成功后,触发此回调。
|
|
139
|
+
* @order 11
|
|
140
|
+
* @param player 触发该事件回调的播放器对象。
|
|
141
|
+
* @param image 截图的 UIImage 对象。
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
onSnapshotComplete$image?(player: TVLManager, image: UIImage): void;
|
|
145
|
+
/** {zh}
|
|
146
|
+
* @detail callback
|
|
147
|
+
* @brief 视频帧回调。调用 [enableVideoFrameObserver:pixelFormat:bufferType:](188118#TVLManager(VeLivePlayer)-enablevideoframeobserver-pixelformat-buffertype) 开启视频帧解析回调后,当播放器成功解码视频帧时,会触发此回调。
|
|
148
|
+
* @notes <br>
|
|
149
|
+
* 如果自定义渲染使用纹理格式,建议在视频帧回调线程中执行渲染操作。
|
|
150
|
+
* @order 12
|
|
151
|
+
* @param player 触发该事件回调的播放器对象。
|
|
152
|
+
* @param videoFrame 视频帧数据,包含像素格式、封装格式、视频宽高等信息,详情请参见 [VeLivePlayerVideoFrame](188121#VeLivePlayerVideoFrame) 。
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
onRenderVideoFrame$videoFrame?(player: TVLManager, videoFrame: VeLivePlayerVideoFrame): void;
|
|
156
|
+
/** {zh}
|
|
157
|
+
* @detail callback
|
|
158
|
+
* @brief 音频帧回调。调用 [enableAudioFrameObserver:enableRendering:](188118#TVLManager(VeLivePlayer)-enableaudioframeobserver-enablerendering)开启音频帧解析回调后,当播放器成功解码音频帧时,会触发此回调。
|
|
159
|
+
* @notes <br>
|
|
160
|
+
* 回调的音频帧数据为 float32 格式,大端字节序存储。
|
|
161
|
+
* @order 13
|
|
162
|
+
* @param player 触发该事件回调的播放器对象。
|
|
163
|
+
* @param audioFrame 音频帧数据,详情请参见 [VeLivePlayerAudioFrame](188121#VeLivePlayerAudioFrame)。
|
|
164
|
+
*/
|
|
165
|
+
|
|
166
|
+
onRenderAudioFrame$audioFrame?(player: TVLManager, audioFrame: VeLivePlayerAudioFrame): void;
|
|
167
|
+
/** {zh}
|
|
168
|
+
* @detail callback
|
|
169
|
+
* @brief 超分开启失败。调用 [setEnableSuperResolution:](188118#TVLManager(VeLivePlayer)-setenablesuperresolution)开启超分后,当播放器不支持超分开启或者超分处理出错时,会触发此回调。
|
|
170
|
+
* @order 14
|
|
171
|
+
* @param player 触发该事件回调的播放器对象。
|
|
172
|
+
* @param error 开启超分失败的原因,错误码请参见 [VeLivePlayerErrorCode](188120#VeLivePlayerErrorCode)。
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
onStreamFailedOpenSuperResolution$error?(player: TVLManager, error: VeLivePlayerError): void;
|
|
176
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { NSInteger, NSString } from './types';
|
|
2
|
+
export declare class VeLivePlayerError {
|
|
3
|
+
/** {zh}
|
|
4
|
+
* @brief 直播播放错误码。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
errorCode: NSInteger;
|
|
8
|
+
/** {zh}
|
|
9
|
+
* @brief 直播播放错误信息。
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
errorMsg: NSString;
|
|
13
|
+
init(): this;
|
|
14
|
+
}
|
|
15
|
+
export declare enum VeLivePlayerErrorCode {
|
|
16
|
+
/** {zh}
|
|
17
|
+
* @brief 没有错误。
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
VeLivePlayerNoError = 0,
|
|
22
|
+
/** {zh}
|
|
23
|
+
* @brief License 证书无效。可能证书集成错误或证书过期,请检查证书集成方式和有效性。
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
VeLivePlayerInvalidLicense = -1,
|
|
28
|
+
/** {zh}
|
|
29
|
+
* @brief 调用时传入的参数不合法。请检查入参,并重新调用。
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
VeLivePlayerInvalidParameter = -2,
|
|
34
|
+
/** {zh}
|
|
35
|
+
* @brief 调用被拒绝。方法调用时机不合法,请检查调用时机。
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
VeLivePlayerErrorRefused = -3,
|
|
40
|
+
/** {zh}
|
|
41
|
+
* @brief 加载库文件失败。可能是 SDK 集成错误,请检查 SDK 集成方式。
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
VeLivePlayerErrorLibraryLoadFailed = -4,
|
|
46
|
+
/** {zh}
|
|
47
|
+
* @brief 播放地址不存在或无效。可能是播放地址为空、地址格式不合法或地址长度不合法,请检查播放地址。
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
VeLivePlayerErrorPlayUrl = -100,
|
|
52
|
+
/** {zh}
|
|
53
|
+
* @brief 无法获取流数据。可能是直播流不存在、直播流中断或直播已结束,请检查直播状态。
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
VeLivePlayerErrorNoStreamData = -101,
|
|
58
|
+
/** {zh}
|
|
59
|
+
* @brief 内部播放重试。可能由于播放器内部错误触发了重试。
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
VeLivePlayerErrorInternalRetryStart = -102,
|
|
64
|
+
/** {zh}
|
|
65
|
+
* @brief 内部重试失败。内部重试次数达到最大限制,播放器停止重试,您可以尝试重新播放。
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
VeLivePlayerErrorInternalRetryFailed = -103,
|
|
70
|
+
/** {zh}
|
|
71
|
+
* @brief DNS 解析失败。可能是播放地址异常或客户端网络异常,请您检查播放地址和网络情况,如果故障未排除,请[创建工单](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)联系技术支持。
|
|
72
|
+
*
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
VeLivePlayerErrorDnsParseFailed = -200,
|
|
76
|
+
/** {zh}
|
|
77
|
+
* @brief 网络请求失败。请检查网络情况,如果故障未排除,请[创建工单](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)联系技术支持。
|
|
78
|
+
*
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
VeLivePlayerErrorNetworkRequestFailed = -201,
|
|
82
|
+
/** {zh}
|
|
83
|
+
* @brief 直播格式解封装失败。可能是使用了不支持的直播流格式和协议,或音视频流错误;请检查流格式,如果故障未排除,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
VeLivePlayerErrorDemuxFailed = -300,
|
|
88
|
+
/** {zh}
|
|
89
|
+
* @brief 视频解码失败。可能使用了不支持的直播流音视频格式,或解码器出错;请检查音视频格式,如果故障未排除,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
VeLivePlayerErrorDecodeFailed = -301,
|
|
94
|
+
/** {zh}
|
|
95
|
+
* @brief 渲染失败。可能是音视频输出设备异常,请重试;如果故障未排除,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
VeLivePlayerErrorAVOutputFailed = -302,
|
|
100
|
+
/** {zh}
|
|
101
|
+
* @brief 该台设备不在超分机型白名单内,不支持超分功能。如您需要帮助,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
102
|
+
*
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
VeLivePlayerErrorSRDeviceUnsupported = -303,
|
|
106
|
+
/** {zh}
|
|
107
|
+
* @brief 当前分辨率高于超分的最大分辨率限制。如您需要帮助,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
VeLivePlayerErrorSRResolutionUnsupported = -304,
|
|
112
|
+
/** {zh}
|
|
113
|
+
* @brief 当前帧率高于超分的最大帧率限制。如您需要帮助,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
114
|
+
*
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
VeLivePlayerErrorSRFpsUnsupported = -305,
|
|
118
|
+
/** {zh}
|
|
119
|
+
* @brief 超分初始化失败。请检查超分参数配置正确性和版本兼容性,如果故障未排除,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
120
|
+
*
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
VeLivePlayerErrorSRInitFail = -306,
|
|
124
|
+
/** {zh}
|
|
125
|
+
* @brief 超分执行失败。请检查超分参数配置正确性和版本兼容性,如果故障未排除,请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
126
|
+
*
|
|
127
|
+
*/
|
|
128
|
+
|
|
129
|
+
VeLivePlayerErrorSRExecuteFail = -307,
|
|
130
|
+
/** {zh}
|
|
131
|
+
* @brief 您使用的基础版 License 暂不支持 H.265 硬件解码,请登录火山引擎[视频直播控制台](https://console.volcengine.com/live/main/sdk)获取高级版 License。
|
|
132
|
+
*
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
VeLivePlayerLicenseUnsupportedH265 = -308,
|
|
136
|
+
/** {zh}
|
|
137
|
+
* @brief 播放器不支持清晰度的切换。
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
VeLivePlayerErrorNotSupportResolutionSwitch = -310,
|
|
142
|
+
/** {zh}
|
|
143
|
+
* @brief DRM 鉴权失败。
|
|
144
|
+
*
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
VeLivePlayerDRMFetchCKCFailed = -400,
|
|
148
|
+
/** {zh}
|
|
149
|
+
* @brief 服务器播放上下文(SPC)生成失败。
|
|
150
|
+
*
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
VeLivePlayerDRMFetchSPCFailed = -401,
|
|
154
|
+
/** {zh}
|
|
155
|
+
* @brief 内部错误。请联系火山引擎[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)。
|
|
156
|
+
*
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
VeLivePlayerErrorInternal = -999
|
|
160
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { VeLivePlayerLogConfig, UIView } from '../../platforms/ios/extends';
|