You need to enable JavaScript to run this app.
文档中心
视频直播

视频直播

复制全文
下载 pdf
SDK API 参考
API 详情
复制全文
下载 pdf
API 详情

TVLManager(VeLivePlayer)
@interface TVLManager (VeLivePlayer)

直播播放器。

成员变量

类型

名称

id

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

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:

void

setEnableSharpen:

VeLivePlayerStreamInfo

getStreamList

变量说明

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;

设置打印日志的级别。
传入参数

参数名

类型

说明

logLevel

VeLivePlayerLogLevel

日志级别,详情请参见 VeLivePlayerLogLevel 。

getVersion

+ (NSString *_Nonnull )getVersion;

获取播放器 SDK 的版本号。
返回值
播放器 SDK 版本号。

init

- (instancetype)init;

播放器初始化方法。

initWithType:

- (instancetype)initWithType:(VeLivePlayerType)type;

初始化特定类型的播放器。
传入参数

参数名

类型

说明

type

VeLivePlayerType

播放器类型,详情请参见 VeLivePlayerType。

setConfig:

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

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

参数名

类型

说明

config

VeLivePlayerConfiguration*

播放器配置信息,详情请参见 VeLivePlayerConfiguration。

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

setObserver:

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

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

参数名

类型

说明

observer

id

播放器的事件回调对象。详情请参见 VeLivePlayerObserver。

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

setRenderFillMode:

- (void)setRenderFillMode:(VeLivePlayerFillMode)fillMode;

设置播放器画面的填充模式。
传入参数

参数名

类型

说明

fillMode

VeLivePlayerFillMode

设置 SurfaceView 的填充模式,默认值为 VeLivePlayerFillModeAspectFill,详情请参见 VeLivePlayerFillMode。

注意

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

setPlayUrl:

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

设置单个直播播放地址。
传入参数

参数名

类型

说明

url

NSString*

直播播放地址

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

setUrlHostIP:

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

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

参数名

类型

说明

hostIpMap

NSDictionary*

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

setProperty:value:

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

设置播放器高级配置。高级配置包括离屏渲染设置、缓冲区最大时长、ABR 码率自适应算法类型等。
传入参数

参数名

类型

说明

key

NSString*

高级配置的参数名。

value

id

参数对应的参数值。

setPlayStreamData:

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

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

参数名

类型

说明

streamData

VeLivePlayerStreamData*

多路流信息配置。详情请参见 VeLivePlayerStreamData 。

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

play

- (void)play;

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

stop

- (void)stop;

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

destroy

- (void)destroy;

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

isSupportResolutionSwitch:

- (int)isSupportResolutionSwitch:(VeLivePlayerResolution)resolution;

检查播放器当前是否支持指定的分辨率档位。
传入参数

参数名

类型

说明

resolution

VeLivePlayerResolution

分辨率档位,详情请参见 VeLivePlayerResolution。

返回值

switchResolution:

- (void)switchResolution:(VeLivePlayerResolution)resolution;

切换播放的清晰度档位。
传入参数

参数名

类型

说明

resolution

VeLivePlayerResolution

设置清晰度的目标档位,详情请参见 VeLivePlayerResolution 。

返回值

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

注意

setMute:

- (void)setMute:(BOOL)mute;

设置是否静音播放。
传入参数

参数名

类型

说明

mute

BOOL

是否开启静音播放,默认值为 NO。

  • YES:开启;
  • NO:关闭。

isMute

- (BOOL)isMute;

获取是否处于静音状态。
返回值
是否处于静音状态。

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

setRenderRotation:

- (void)setRenderRotation:(VeLivePlayerRotation)rotation;

设置视频顺时针旋转角度。
传入参数

参数名

类型

说明

rotation

VeLivePlayerRotation

视频旋转角度,默认关闭旋转,详情请参见 VeLivePlayerRotation 。

注意

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

setRenderMirror:

- (void)setRenderMirror:(VeLivePlayerMirror)mirror;

设置视频镜像。
传入参数

参数名

类型

说明

mirror

VeLivePlayerMirror

视频镜像,默认关闭镜像,详情请参见 VeLivePlayerMirror 。

注意

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

snapshot

- (int)snapshot;

视频截图。
返回值

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

注意

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

enableVideoFrameObserver:pixelFormat:bufferType:

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

设置视频帧回调。
传入参数

参数名

类型

说明

enable

BOOL

是否开启视频帧回调,默认值为 NO。

  • YES:开启;
  • NO:关闭。

pixelFormat

VeLivePlayerPixelFormat

回调的视频帧像素格式,详情请参见 VeLivePlayerPixelFormat 。

bufferType

VeLivePlayerVideoBufferType

回调的视频数据封装格式。详情请参见 VeLivePlayerVideoBufferType 。

注意

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

enableAudioFrameObserver:enableRendering:

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

设置音频帧回调。
传入参数

参数名

类型

说明

enable

BOOL

是否开启音频帧回调,默认值为 NO。

  • YES:开启;
  • NO:关闭。

enableRendering

BOOL

是否开启播放器渲染。默认值为 NO。

  • YES:开启;
  • NO:关闭。

注意

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

setEnableSuperResolution:

- (void)setEnableSuperResolution:(BOOL)enable;

设置是否开启超分。
传入参数

参数名

类型

说明

enable

BOOL

是否开启,默认值为 NO。

  • YES:开启;
  • NO:关闭。

注意

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

setEnableSharpen:

- (void)setEnableSharpen:(BOOL)enable;

设置是否开启视频锐化。开启后,可以使视频中的边缘和细节更加突出,使画面看起来更加清晰和生动。
传入参数

参数名

类型

说明

enable

BOOL

是否开启视频锐化。默认值为 NO。取值如下:

  • YES:开启;
  • NO:关闭。

getStreamList

- (NSArray<VeLivePlayerStreamInfo *> *)getStreamList;

获取流信息。
返回值
流信息。
注意

  • 在 VeLivePlayerStatus(播放器状态)为 VeLivePlayerStatusPrepared 时,调用该方法。
  • 该方法目前仅适用于 HLS 格式的流。

VeLiveCommon(HttpDNS)
@interface VeLiveCommon(HttpDNS)

静态函数

返回

名称

void

setVeHttpDNSAuth:key:

void

prefetchDomains:

函数说明

setVeHttpDNSAuth:key:

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

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

参数名

类型

说明

serviceID

NSString*

移动解析 HTTPDNS 的 Service ID。

key

NSString*

移动解析 HTTPDNS 的 Secret Key。

prefetchDomains:

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

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

参数名

类型

说明

domains

NSArray<NSString*>*

待解析的域名列表。

TVLManager(PictureInPicture)
@interface TVLManager (PictureInPicture)

直播播放器的画中画能力。

成员变量

名称类型
enablePictureInPictureBOOL
pictureInPictureRequiresLinearPlaybackBOOL
canStartPictureInPictureAutomaticallyFromInlineBOOL
avPictureInPictureControllerAVPictureInPictureController *
pictureInPictureDelegateid
pictureInPicturePlaybackDelegateid

静态函数

名称返回
isPictureInPictureSupportedBOOL
isPictureInPictureStartedBOOL

成员函数

名称返回
startPictureInPicturevoid
stopPictureInPicturevoid
invalidatePictureInPicturePlaybackStatevoid

变量说明

enablePictureInPicture

@property (nonatomic, assign) BOOL enablePictureInPicture;

是否开启画中画功能,默认值为 NO。

  • YES:开启画中画功能,之后可调用画中画相关方法或设置画中画相关属性。
  • NO:禁用画中画功能。

注意

将该属性设为 YES 前,请先满足以下条件:

  • 当前系统为 iOS 15.0 及以上版本。
  • App 的 Background Modes 中已开启 Audio, AirPlay, and Picture in Picture。

pictureInPictureRequiresLinearPlayback

@property (nonatomic, assign) BOOL pictureInPictureRequiresLinearPlayback;

画中画窗口是否隐藏快进、快退按钮,默认值为 YES。取值如下:

  • YES:不显示快进、快退按钮。
  • NO:显示快进、快退按钮。

canStartPictureInPictureAutomaticallyFromInline

@property (nonatomic, assign) BOOL canStartPictureInPictureAutomaticallyFromInline;

是否允许在 App 切到后台时自动启动画中画。默认值为 YES。取值如下:

  • YES:App 切到后台时,系统会尝试自动启动画中画。
  • NO:App 切到后台时,系统不会自动启动画中画。

avPictureInPictureController

@property (nonatomic, strong, readonly, nullable) AVPictureInPictureController *avPictureInPictureController;

当前播放器关联的 AVPictureInPictureController 实例,可用于读取系统级画中画状态等信息。

pictureInPictureDelegate

@property (nonatomic, weak, nullable) id<AVPictureInPictureControllerDelegate> pictureInPictureDelegate API_AVAILABLE(ios(15.0));

实现 AVPictureInPictureControllerDelegate 的代理对象,用于接收画中画开始、结束、失败等生命周期回调。

注意

SDK 已提供基础画中画能力。如需自定义相关代理回调的处理逻辑,可通过该属性设置代理对象。该属性仅在同时满足以下条件时生效:

pictureInPicturePlaybackDelegate

@property (nonatomic, weak, nullable) id<AVPictureInPictureSampleBufferPlaybackDelegate> pictureInPicturePlaybackDelegate API_AVAILABLE(ios(15.0));

实现 AVPictureInPictureSampleBufferPlaybackDelegate 的代理对象,用于处理画中画中的播放/暂停请求、指定画中画窗口中的播放控件显示为播放还是暂停,以及提供可播放时间范围。

注意

SDK 已提供基础画中画能力。如需自定义相关代理回调的处理逻辑,可通过该属性设置代理对象。该属性仅在同时满足以下条件时生效:

函数说明

isPictureInPictureSupported

+ (BOOL) isPictureInPictureSupported;

当前设备是否支持画中画。

返回值

  • YES:支持。
  • NO:不支持。

isPictureInPictureStarted

+ (BOOL) isPictureInPictureStarted;

是否已成功启动画中画。

返回值

  • YES:已成功启动画中画。
  • NO:未启动画中画。

startPictureInPicture

- (void) startPictureInPicture;

手动启动画中画。

stopPictureInPicture

- (void) stopPictureInPicture;

手动停止画中画,关闭画中画窗口。

invalidatePictureInPicturePlaybackState

- (void) invalidatePictureInPicturePlaybackState;

手动更新画中画的播放按钮状态和进度显示。

最近更新时间:2026.09.20 17:31:18
这个页面对您有帮助吗?
有用
有用
无用
无用