@interface TVLManager (VeLivePlayer)
直播播放器。
类型 | 名称 |
|---|---|
id | |
UIView* | |
float | |
BOOL |
返回 | 名称 |
|---|---|
void | |
NSString* |
返回 | 名称 |
|---|---|
instancetype | |
instancetype | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
void | |
int | |
void | |
void | |
BOOL | |
void | |
void | |
int | |
void | |
void | |
void | |
void | |
VeLivePlayerStreamInfo |
@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。 |
注意
需要在调用 play 开始播放之前,调用本方法设置回调。
- (void)setRenderFillMode:(VeLivePlayerFillMode)fillMode;
设置播放器画面的填充模式。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
fillMode | VeLivePlayerFillMode | 设置 SurfaceView 的填充模式,默认值为 |
注意
- (void)setPlayUrl:(NSString *_Nonnull)url;
设置单个直播播放地址。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
url | NSString* | 直播播放地址 |
注意
需要在调用 play 开始播放之前,调用本方法设置单个直播播放地址。
- (void)setUrlHostIP:(NSDictionary *_Nonnull)hostIpMap;
设置域名和服务器的 IP 地址映射关系。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
hostIpMap | NSDictionary* | 域名和服务器 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)stop;
停止播放,不销毁播放器。
注意
调用本方法停止播放后,会触发 onPlayerStatusUpdate:status: 播放器状态回调。
- (void)destroy;
停止播放,并销毁播放器。
- (int)isSupportResolutionSwitch:(VeLivePlayerResolution)resolution;
检查播放器当前是否支持指定的分辨率档位。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
resolution | VeLivePlayerResolution | 分辨率档位,详情请参见 VeLivePlayerResolution。 |
返回值
- (void)switchResolution:(VeLivePlayerResolution)resolution;
切换播放的清晰度档位。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
resolution | VeLivePlayerResolution | 设置清晰度的目标档位,详情请参见 VeLivePlayerResolution 。 |
返回值
YES:成功;NO:失败。注意
YES。- (void)setMute:(BOOL)mute;
设置是否静音播放。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
mute | BOOL | 是否开启静音播放,默认值为
|
- (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 | 是否开启视频帧回调,默认值为
|
pixelFormat | VeLivePlayerPixelFormat | 回调的视频帧像素格式,详情请参见 VeLivePlayerPixelFormat 。 |
bufferType | VeLivePlayerVideoBufferType | 回调的视频数据封装格式。详情请参见 VeLivePlayerVideoBufferType 。 |
注意
- (void)enableAudioFrameObserver:(BOOL)enable enableRendering:(BOOL)enableRendering;
设置音频帧回调。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
enable | BOOL | 是否开启音频帧回调,默认值为
|
enableRendering | BOOL | 是否开启播放器渲染。默认值为
|
注意
- (void)setEnableSuperResolution:(BOOL)enable;
设置是否开启超分。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
enable | BOOL | 是否开启,默认值为
|
注意
- (void)setEnableSharpen:(BOOL)enable;
设置是否开启视频锐化。开启后,可以使视频中的边缘和细节更加突出,使画面看起来更加清晰和生动。
传入参数
参数名 | 类型 | 说明 |
|---|---|---|
enable | BOOL | 是否开启视频锐化。默认值为
|
- (NSArray<VeLivePlayerStreamInfo *> *)getStreamList;
获取流信息。
返回值
流信息。
注意
VeLivePlayerStatusPrepared 时,调用该方法。@interface VeLiveCommon(HttpDNS)
返回 | 名称 |
|---|---|
void | |
void |
+ (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*>* | 待解析的域名列表。 |
@interface TVLManager (PictureInPicture)
直播播放器的画中画能力。
| 名称 | 类型 |
|---|---|
| enablePictureInPicture | BOOL |
| pictureInPictureRequiresLinearPlayback | BOOL |
| canStartPictureInPictureAutomaticallyFromInline | BOOL |
| avPictureInPictureController | AVPictureInPictureController * |
| pictureInPictureDelegate | id |
| pictureInPicturePlaybackDelegate | id |
| 名称 | 返回 |
|---|---|
| isPictureInPictureSupported | BOOL |
| isPictureInPictureStarted | BOOL |
| 名称 | 返回 |
|---|---|
| startPictureInPicture | void |
| stopPictureInPicture | void |
| invalidatePictureInPicturePlaybackState | void |
@property (nonatomic, assign) BOOL enablePictureInPicture;
是否开启画中画功能,默认值为 NO。
YES:开启画中画功能,之后可调用画中画相关方法或设置画中画相关属性。NO:禁用画中画功能。注意
将该属性设为 YES 前,请先满足以下条件:
@property (nonatomic, assign) BOOL pictureInPictureRequiresLinearPlayback;
画中画窗口是否隐藏快进、快退按钮,默认值为 YES。取值如下:
YES:不显示快进、快退按钮。NO:显示快进、快退按钮。@property (nonatomic, assign) BOOL canStartPictureInPictureAutomaticallyFromInline;
是否允许在 App 切到后台时自动启动画中画。默认值为 YES。取值如下:
YES:App 切到后台时,系统会尝试自动启动画中画。NO:App 切到后台时,系统不会自动启动画中画。@property (nonatomic, strong, readonly, nullable) AVPictureInPictureController *avPictureInPictureController;
当前播放器关联的 AVPictureInPictureController 实例,可用于读取系统级画中画状态等信息。
@property (nonatomic, weak, nullable) id<AVPictureInPictureControllerDelegate> pictureInPictureDelegate API_AVAILABLE(ios(15.0));
实现 AVPictureInPictureControllerDelegate 的代理对象,用于接收画中画开始、结束、失败等生命周期回调。
注意
SDK 已提供基础画中画能力。如需自定义相关代理回调的处理逻辑,可通过该属性设置代理对象。该属性仅在同时满足以下条件时生效:
YES。@property (nonatomic, weak, nullable) id<AVPictureInPictureSampleBufferPlaybackDelegate> pictureInPicturePlaybackDelegate API_AVAILABLE(ios(15.0));
实现 AVPictureInPictureSampleBufferPlaybackDelegate 的代理对象,用于处理画中画中的播放/暂停请求、指定画中画窗口中的播放控件显示为播放还是暂停,以及提供可播放时间范围。
注意
SDK 已提供基础画中画能力。如需自定义相关代理回调的处理逻辑,可通过该属性设置代理对象。该属性仅在同时满足以下条件时生效:
YES。+ (BOOL) isPictureInPictureSupported;
当前设备是否支持画中画。
返回值
YES:支持。NO:不支持。+ (BOOL) isPictureInPictureStarted;
是否已成功启动画中画。
返回值
YES:已成功启动画中画。NO:未启动画中画。- (void) startPictureInPicture;
手动启动画中画。
- (void) stopPictureInPicture;
手动停止画中画,关闭画中画窗口。
- (void) invalidatePictureInPicturePlaybackState;
手动更新画中画的播放按钮状态和进度显示。