You need to enable JavaScript to run this app.
导航

API 详情

最近更新时间2024.04.19 14:57:37

首次发布时间2023.03.31 11:23:06

TVLManager(VeLivePlayer)
@interface TVLManager (VeLivePlayer)

直播播放器。

成员变量

类型名称
idobserver
UIView*playerView
floatvolume
BOOLisPlaying

静态函数

返回名称
voidsetLogLevel:
NSString *getVersion
voidsetHttpDNSHostIP:

成员函数

返回名称
instancetypeinit
instancetypeinitWithType:
voidsetConfig:
voidsetObserver:
voidsetRenderFillMode:
voidsetPlayUrl:
voidsetUrlHostIP:
voidsetProperty:value:
voidsetPlayStreamData:
voidplay
voidpause
voidstop
voiddestroy
voidswitchResolution:
voidsetMute:
BOOLisMute
voidsetRenderRotation:
voidsetRenderMirror:
intsnapshot
voidenableVideoFrameObserver:pixelFormat:bufferType:
voidenableAudioFrameObserver:enableRendering:
voidsetEnableSuperResolution:

变量说明

observer

@property (nonatomic, weak, readonly, nullable) id<VeLivePlayerObserver> observer;

播放器的回调事件监听器。

playerView

@property (nonatomic, strong, readonly) UIView *playerView;

获取播放器内部用于渲染视频画面的视图 view,调用本方法将 playerView 添加到应用的视图层级中,实现视频内容显示。

volume

@property (nonatomic, assign) float volume;

设置或获取播放器播放音量,默认值为 1.0。取值范围为 0.0~1.0。

isPlaying

@property (nonatomic, assign, readonly) BOOL isPlaying;

检查播放器是否正在播放。

函数说明

setLogLevel:

+ (void)setLogLevel:(VeLivePlayerLogLevel)logLevel;

设置打印日志的级别。

传入参数

参数名类型说明
logLevelVeLivePlayerLogLevel日志级别,详情请参见 VeLivePlayerLogLevel

getVersion

+ (NSString *_Nonnull )getVersion;

获取播放器 SDK 的版本号。

返回值

播放器 SDK 版本号。

setHttpDNSHostIP:

+ (void)setHttpDNSHostIP:(NSDictionary *_Nonnull)hostIpMap;

设置域名和服务器的 IP 地址映射关系。

传入参数

参数名类型说明
hostIpMapNSDictionary *域名和服务器 IP 地址的映射关系列表。其中 Map 的 Key 是域名,Value 是 List 类型,表示该域名对应的服务器 IP 地址列表。

init

- (instancetype)init;

播放器初始化方法。

initWithType:

- (instancetype)initWithType:(VeLivePlayerType)type;

初始化特定类型的播放器。

传入参数

参数名类型说明
typeVeLivePlayerType播放器类型,详情请参见 VeLivePlayerType

setConfig:

- (void)setConfig:(VeLivePlayerConfiguration *_Nonnull)config;

初始化播放器,用于设置是否开启 SEI 消息、是否开启硬件解码和是否开启本地 DNS 预解析等配置信息。

传入参数

参数名类型说明
configVeLivePlayerConfiguration *播放器配置信息,详情请参见 VeLivePlayerConfiguration

注意

需要在调用 play 开始播放之前,调用本方法进行播放器的初始化。

setObserver:

- (void)setObserver:(id<VeLivePlayerObserver> _Nullable)observer;

设置播放器回调,用于监听播放器 VeLivePlayer 的播放错误、播放状态、音视频首帧渲染状态和清晰度档位信息等回调事件。

传入参数

参数名类型说明
observerid播放器的事件回调对象。详情请参见 VeLivePlayerObserver

注意

需要在调用 play 开始播放之前,调用本方法设置回调。

setRenderFillMode:

- (void)setRenderFillMode:(VeLivePlayerFillMode)fillMode;

设置播放器画面的填充模式。

传入参数

参数名类型说明
fillModeVeLivePlayerFillMode设置 SurfaceView 的填充模式,默认值为 VeLivePlayerFillModeAspectFill。详情请参见 VeLivePlayerFillMode

注意

  • 如果用于起播设置,需要在调用 play 开始播放之前,调用本方法设置视频的填充模式。
  • 如果用于调节填充模式,可以在播放过程中调用本方法动态调节视频的填充模式。

setPlayUrl:

- (void)setPlayUrl:(NSString *_Nonnull)url;

设置单个直播播放地址。

传入参数

参数名类型说明
urlNSString *直播播放地址

注意

需要在调用 playplay 开始播放之前,调用本方法设置单个直播播放地址。

setUrlHostIP:

- (void)setUrlHostIP:(NSDictionary *_Nonnull)hostIpMap;

设置域名和服务器的 IP 地址映射关系。

传入参数

参数名类型说明
hostIpMapNSDictionary *域名和服务器 IP 地址的映射关系列表。其中 Map 的 Key 是域名,Value 是 List 类型,表示该域名对应的服务器 IP 地址列表

setProperty:value:

- (void)setProperty:(NSString *_Nonnull)key value:(id _Nonnull)value;

设置播放器高级配置。高级配置包括离屏渲染设置、缓冲区最大时长、ABR 码率自适应算法类型等,如需了解详细信息,请联系技术支持

传入参数

参数名类型说明
keyNSString *高级配置的参数名。
valueid参数对应的参数值。

setPlayStreamData:

- (void)setPlayStreamData:(VeLivePlayerStreamData *_Nonnull)streamData;

多路流信息配置。例如,您需要使用 ABR、手动切档和主备流等依赖多路流的功能,可以调用本方法进行配置。

传入参数

参数名类型说明
streamDataVeLivePlayerStreamData *多路流信息配置。详情请参见 VeLivePlayerStreamData

注意

需要在调用 play 开始播放之前,调用本方法设置多路流信息。

play

- (void)play;

开始/恢复播放。

注意

调用本方法,在播放器完成拉流准备和首帧渲染播放后,都会触发 onPlayerStatusUpdate:status:播放器状态回调。

pause

- (void)pause;

暂停播放。

注意

调用本方法暂停播放后,会触发 onPlayerStatusUpdate:status: 播放器状态回调。

stop

- (void)stop;

停止播放,不销毁播放器。

注意

调用本方法停止播放后,会触发 onPlayerStatusUpdate:status: 播放器状态回调。

destroy

- (void)destroy;

停止播放,并销毁播放器。

switchResolution:

- (void)switchResolution:(VeLivePlayerResolution)resolution;

切换播放的清晰度档位。

传入参数

参数名类型说明
resolutionVeLivePlayerResolution设置清晰度的目标档位,详情请参见 VeLivePlayerResolution

返回值

  • YES:成功;
  • NO:失败。

注意

setMute:

- (void)setMute:(BOOL)mute;

设置是否静音播放。

传入参数

参数名类型说明
muteBOOL是否开启静音播放,默认值为 NO。
  • YES:开启;
  • NO:关闭。

isMute

- (BOOL)isMute;

获取是否处于静音状态。

返回值

是否处于静音状态。

  • YES:静音;
  • NO:未静音。

setRenderRotation:

- (void)setRenderRotation:(VeLivePlayerRotation)rotation;

设置视频顺时针旋转角度。

传入参数

参数名类型说明
rotationVeLivePlayerRotation视频旋转角度,默认关闭旋转,详情请参见 VeLivePlayerRotation

注意

  • 支持在播放前和播放中动态修改视频旋转角度。
  • 每次调用本方法,播放器都将基于图像的原始角度进行旋转。
  • 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。

setRenderMirror:

- (void)setRenderMirror:(VeLivePlayerMirror)mirror;

设置视频镜像。

传入参数

参数名类型说明
mirrorVeLivePlayerMirror视频镜像,默认关闭镜像,详情请参见 VeLivePlayerMirror

注意

  • 支持在播放前和播放中动态修改视频镜像方式。
  • 每次调用本方法,播放器都将基于原始图像进行镜像。
  • 当同时使用旋转和镜像功能,播放器会先进行镜像,再进行旋转。

snapshot

- (int)snapshot;

视频截图。

返回值

  • 0:当前状态支持截图;
  • VeLivePlayerErrorRefused 当前状态不支持截图。

注意

  • 本方法仅在视频状态为播放时生效。
  • 调用本方法截图成功后,会触发 onSnapshotComplete:image:回调,回调消息中包含截图的 UIImage 对象。

enableVideoFrameObserver:pixelFormat:bufferType:

- (void)enableVideoFrameObserver:(BOOL)enable pixelFormat:(VeLivePlayerPixelFormat)pixelFormat bufferType:(VeLivePlayerVideoBufferType)bufferType;

设置视频帧回调。

传入参数

参数名类型说明
enableBOOL是否开启视频帧回调,默认值为 NO。
  • YES:开启;
  • NO:关闭。
pixelFormatVeLivePlayerPixelFormat回调的视频帧像素格式,详情请参见 VeLivePlayerPixelFormat
bufferTypeVeLivePlayerVideoBufferType回调的视频数据封装格式。详情请参见 VeLivePlayerVideoBufferType

注意

  • 您可以在使用外部渲染的场景下调用本方法,订阅视频帧的解码数据。
  • 调用本方法后,会触发 onRenderVideoFrame:videoFrame:回调,回调消息中包含每个视频帧的详细数据。
  • 如果您使用外部渲染,需要保证音视频同步。

enableAudioFrameObserver:enableRendering:

- (void)enableAudioFrameObserver:(BOOL)enable enableRendering:(BOOL)enableRendering;

设置音频帧回调。

传入参数

参数名类型说明
enableBOOL是否开启音频帧回调,默认值为 NO。
  • YES:开启;
  • NO:关闭。
enableRenderingBOOL是否开启播放器渲染。默认值为 NO。
  • YES:开启;
  • NO:关闭。

注意

  • 您可以在使用外部渲染的场景下调用本方法,订阅音频帧的解码数据。
  • 调用本方法后,会触发 onRenderAudioFrame:audioFrame: 回调,回调消息中包含每个音频帧的详细数据。
  • 如果您使用外部渲染,需要保证音视频同步。

setEnableSuperResolution:

- (void)setEnableSuperResolution:(BOOL)enable;

设置是否开启超分。

传入参数

参数名类型说明
enableBOOL是否开启,默认值为 NO。
  • YES:开启;
  • NO:关闭。

注意

  • 在收到首帧回调后,调用该方法开启超分。
  • 支持在播放中调用该接口,开启或关闭超分。
  • 如果机型、分辨率和帧率不符合限制,将无法开启超分,并触发 onStreamFailedOpenSuperResolution:error: 回调。

VeLivePlayerType
typedef NS_ENUM(
    NSUInteger,
    VeLivePlayerType
)

播放器类型。

枚举值

类型说明
VeLivePlayerTypeOwn0自研播放器。
VeLivePlayerTypeSystem1系统播放器。

VeLivePlayerEffectType
typedef NS_ENUM(
    NSInteger,
    VeLivePlayerEffectType
)

直播特效模型类型

VeLiveCommon(HttpDNS)
@interface VeLiveCommon(HttpDNS)

静态函数

返回名称
voidsetVeHttpDNSAuth:key:
voidprefetchDomains:

函数说明

setVeHttpDNSAuth:key:

+ (void)setVeHttpDNSAuth:(NSString *)serviceID key:(NSString *)key;

该方法用来设置使用火山引擎 HTTPDNS 服务时需要的鉴权信息。

传入参数

参数名类型说明
serviceIDNSString *移动解析 HTTPDNS 的 Service ID。
keyNSString *移动解析 HTTPDNS 的 Secret Key。

prefetchDomains:

+ (void)prefetchDomains:(NSArray<NSString *> *)domains;

该方法用来解析域名,并将解析结果存储在缓存中。

传入参数

参数名类型说明
domainsNSArray<NSString *> *待解析的域名列表。