@interface TVLManager (VeLivePlayer)
直播播放器。
| 类型 | 名称 |
|---|---|
| id<VeLivePlayerObserver> | observer |
| UIView* | playerView |
| float | volume |
| BOOL | isPlaying |
| 返回 | 名称 |
|---|---|
| void | setLogLevel: |
| NSString* | getVersion |
| 返回 | 名称 |
|---|---|
| instancetype | init |
| instancetype | initWithType: |
| void | setConfig: |
| void | setObserver: |
| void | setRenderFillMode: |
| void | setPlayUrl: |
| void | setUrlHostIP: |
| void | setProperty:value: |
| void | setPlayStreamData: |
| void | play |
| void | pause |
| void | stop |
| void | destroy |
| int | isSupportResolutionSwitch: |
| void | switchResolution: |
| void | setMute: |
| BOOL | isMute |
| void | setRenderRotation: |
| void | setRenderMirror: |
| int | snapshot |
| void | enableVideoFrameObserver:pixelFormat:bufferType: |
| void | enableAudioFrameObserver:enableRendering: |
| void | setEnableSuperResolution: |
| VeLivePlayerStreamInfo | getStreamList |
@property (nonatomic, weak, readonly, nullable) id<VeLivePlayerObserver> observer;
播放器的回调事件监听器。
@property (nonatomic, strong, readonly) UIView *playerView;
获取播放器内部用于渲染视频画面的视图 view,调用本方法将 playerView 添加到应用的视图层级中,实现视频内容显示。
@property (nonatomic, assign) float volume;
设置或获取播放器播放音量,默认值为 1.0。取值范围为 0.0~1.0。
@property (nonatomic, assign, readonly) BOOL isPlaying;
检查播放器是否正在播放。
+ (void)setLogLevel:(VeLivePlayerLogLevel)logLevel;
设置打印日志的级别。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logLevel | VeLivePlayerLogLevel | 日志级别,详情请参见 VeLivePlayerLogLevel 。 |
+ (NSString *_Nonnull )getVersion;
获取播放器 SDK 的版本号。
返回值
播放器 SDK 版本号。
- (instancetype)init;
播放器初始化方法。
- (instancetype)initWithType:(VeLivePlayerType)type;
初始化特定类型的播放器。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | VeLivePlayerType | 播放器类型,详情请参见 VeLivePlayerType。 |
- (void)setConfig:(VeLivePlayerConfiguration *_Nonnull)config;
初始化播放器,用于设置是否开启 SEI 消息、是否开启硬件解码和是否开启本地 DNS 预解析等配置信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| config | VeLivePlayerConfiguration* | 播放器配置信息,详情请参见 VeLivePlayerConfiguration。 |
注意
需要在调用 play 开始播放之前,调用本方法进行播放器的初始化。
- (void)setObserver:(id<VeLivePlayerObserver> _Nullable)observer;
设置播放器回调,用于监听播放器 VeLivePlayer 的播放错误、播放状态、音视频首帧渲染状态和清晰度档位信息等回调事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| observer | id<VeLivePlayerObserver> | 播放器的事件回调对象。详情请参见 VeLivePlayerObserver。 |
注意
需要在调用 play 开始播放之前,调用本方法设置回调。
- (void)setRenderFillMode:(VeLivePlayerFillMode)fillMode;
设置播放器画面的填充模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| fillMode | VeLivePlayerFillMode | 设置 SurfaceView 的填充模式,默认值为 VeLivePlayerFillModeAspectFill,详情请参见 VeLivePlayerFillMode。 |
注意
- (void)setPlayUrl:(NSString *_Nonnull)url;
设置单个直播播放地址。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | NSString* | 直播播放地址 |
注意
需要在调用 play 开始播放之前,调用本方法设置单个直播播放地址。
- (void)setUrlHostIP:(NSDictionary *_Nonnull)hostIpMap;
设置域名和服务器的 IP 地址映射关系。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| hostIpMap | NSDictionary* | 域名和服务器 IP 地址的映射关系列表。其中 Map 的 Key 是域名,Value 是 List 类型,表示该域名对应的服务器 IP 地址列表 |
- (void)setProperty:(NSString *_Nonnull)key value:(id _Nonnull)value;
设置播放器高级配置。高级配置包括离屏渲染设置、缓冲区最大时长、ABR 码率自适应算法类型等,如需了解详细信息,请联系技术支持。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | NSString* | 高级配置的参数名。 |
| value | id | 参数对应的参数值。 |
- (void)setPlayStreamData:(VeLivePlayerStreamData *_Nonnull)streamData;
多路流信息配置。例如,您需要使用 ABR、手动切档和主备流等依赖多路流的功能,可以调用本方法进行配置。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamData | VeLivePlayerStreamData* | 多路流信息配置。详情请参见 VeLivePlayerStreamData 。 |
注意
需要在调用 play 开始播放之前,调用本方法设置多路流信息。
- (void)play;
开始/恢复播放。
注意
调用本方法,在播放器完成拉流准备和首帧渲染播放后,都会触发 onPlayerStatusUpdate:status: 播放器状态回调。
- (void)pause;
暂停播放。
注意
调用本方法暂停播放后,会触发 onPlayerStatusUpdate:status: 播放器状态回调。
- (void)stop;
停止播放,不销毁播放器。
注意
调用本方法停止播放后,会触发 onPlayerStatusUpdate:status: 播放器状态回调。
- (void)destroy;
停止播放,并销毁播放器。
- (int)isSupportResolutionSwitch:(VeLivePlayerResolution)resolution;
检查播放器当前是否支持指定的分辨率档位。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| resolution | VeLivePlayerResolution | 分辨率档位,详情请参见 VeLivePlayerResolution。 |
返回值
- (void)switchResolution:(VeLivePlayerResolution)resolution;
切换播放的清晰度档位。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| resolution | VeLivePlayerResolution | 设置清晰度的目标档位,详情请参见 VeLivePlayerResolution 。 |
返回值
YES:成功;NO:失败。注意
- (void)setMute:(BOOL)mute;
设置是否静音播放。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mute | BOOL | 是否开启静音播放,默认值为 NO。
|
- (BOOL)isMute;
获取是否处于静音状态。
返回值
是否处于静音状态。
YES:静音;NO:未静音。- (void)setRenderRotation:(VeLivePlayerRotation)rotation;
设置视频顺时针旋转角度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| rotation | VeLivePlayerRotation | 视频旋转角度,默认关闭旋转,详情请参见 VeLivePlayerRotation 。 |
注意
- (void)setRenderMirror:(VeLivePlayerMirror)mirror;
设置视频镜像。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mirror | VeLivePlayerMirror | 视频镜像,默认关闭镜像,详情请参见 VeLivePlayerMirror 。 |
注意
- (int)snapshot;
视频截图。
返回值
注意
- (void)enableVideoFrameObserver:(BOOL)enable pixelFormat:(VeLivePlayerPixelFormat)pixelFormat bufferType:(VeLivePlayerVideoBufferType)bufferType;
设置视频帧回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启视频帧回调,默认值为 NO。
|
| pixelFormat | VeLivePlayerPixelFormat | 回调的视频帧像素格式,详情请参见 VeLivePlayerPixelFormat 。 |
| bufferType | VeLivePlayerVideoBufferType | 回调的视频数据封装格式。详情请参见 VeLivePlayerVideoBufferType 。 |
注意
- (void)enableAudioFrameObserver:(BOOL)enable enableRendering:(BOOL)enableRendering;
设置音频帧回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启音频帧回调,默认值为 NO。
|
| enableRendering | BOOL | 是否开启播放器渲染。默认值为 NO。
|
注意
- (void)setEnableSuperResolution:(BOOL)enable;
设置是否开启超分。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启,默认值为 NO。
|
注意
- (NSArray<VeLivePlayerStreamInfo *> *)getStreamList;
获取流信息。
返回值
流信息。
注意
VeLivePlayerStatusPrepared 时,调用该方法。@interface VeLiveCommon(HttpDNS)
| 返回 | 名称 |
|---|---|
| void | setVeHttpDNSAuth:key: |
| void | prefetchDomains: |
+ (void)setVeHttpDNSAuth:(NSString *)serviceID key:(NSString *)key;
该方法用来设置使用火山引擎 HTTPDNS 服务时需要的鉴权信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| serviceID | NSString* | 移动解析 HTTPDNS 的 Service ID。 |
| key | NSString* | 移动解析 HTTPDNS 的 Secret Key。 |
+ (void)prefetchDomains:(NSArray<NSString *> *)domains;
该方法用来解析域名,并将解析结果存储在缓存中。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| domains | NSArray<NSString*>* | 待解析的域名列表。 |