ZegoMediaPlayer Class Reference

Inherits from NSObject
Declared in zego-api-mediaplayer-oc.h

Overview

播放器

– initWithPlayerType:

初始化

- (instancetype)initWithPlayerType:(MediaPlayerType)type

Parameters

type

@see MediaPlayerType

Return Value

播放器对象

Discussion

Warning: Deprecated,请使用 [initWithPlayerType:playerIndex:] 代替

Note: sdk提供多个播放器实例,通过index可以指定获取的是哪个播放器实例,没有指定index时,取到的就是 ZegoMediaPlayerIndexIndexFirst 播放器

Declared In

zego-api-mediaplayer-oc.h

– initWithPlayerType:playerIndex:

初始化

- (instancetype)initWithPlayerType:(MediaPlayerType)type playerIndex:(ZegoMediaPlayerIndex)index

Parameters

type

@see MediaPlayerType

index

sdk提供多个播放器实例,通过index可以指定获取的是哪个播放器实例 @see ZegoMediaPlayerIndex

Return Value

播放器对象

Declared In

zego-api-mediaplayer-oc.h

– uninit

释放播放器

- (void)uninit

Declared In

zego-api-mediaplayer-oc.h

– setEventWithIndexDelegate:

设置播放器事件回调

- (void)setEventWithIndexDelegate:(id<ZegoMediaPlayerEventWithIndexDelegate>)delegate

Parameters

delegate

回调

Declared In

zego-api-mediaplayer-oc.h

– setVideoPlayWithIndexDelegate:format:

设置视频帧数据回调

- (void)setVideoPlayWithIndexDelegate:(id<ZegoMediaPlayerVideoPlayWithIndexDelegate>)delegate format:(ZegoMediaPlayerVideoPixelFormat)format

Parameters

delegate

回调

format

需要返回的视频帧数据格式,@see ZegoMediaPlayerVideoPixelFormat

Declared In

zego-api-mediaplayer-oc.h

– setAudioPlayDelegate:

设置音频数据回调

- (void)setAudioPlayDelegate:(id<ZegoMediaPlayerAudioPlayDelegate>)delegate

Parameters

delegate

回调

Declared In

zego-api-mediaplayer-oc.h

– setMediaSideInfoDelegate:

设置播放文件SEI 信息回调

- (void)setMediaSideInfoDelegate:(id<ZegoMediaPlayerMediaSideInfoDelegate>)delegate

Parameters

delegate

回调

Declared In

zego-api-mediaplayer-oc.h

– setMediaPlayerFileReaderDelegate:

设置播放文件操做回调接口, 调用该接口后,内部播放视频时,进行的文件操作将会通过ZegoMediaPlayerFileReaderDelegate接口 需要用户实现

- (void)setMediaPlayerFileReaderDelegate:(id<ZegoMediaPlayerFileReaderDelegate>)delegate

Parameters

delegate

回调

Declared In

zego-api-mediaplayer-oc.h

– setBlockDataDelegate:blockSize:

设置媒体播放器资源块数据回调

- (void)setBlockDataDelegate:(id<ZegoMediaPlayerBlockDataDelegate>)delegate blockSize:(int)blockSize

Parameters

delegate

回调

blockSize

最小加密块数据的大小,OnBlockData 回调中的 size 为 blockSize 整数倍 @attention 该接口适用于使用媒体播放器播放用户自己的加密文件,当 SDK 读到块数据后,通过回调抛出,由用户负责在原内存块解密

Declared In

zego-api-mediaplayer-oc.h

– start:repeat:

开始播放

- (void)start:(NSString *)path repeat:(BOOL)repeat

Parameters

path

媒体文件的路径

repeat

是否重复播放

Discussion

Warning: Deprecated, 请使用 start:startPosition: 代替,如果需要设置循环播放次数,使用 setLoopCount: 接口

Declared In

zego-api-mediaplayer-oc.h

– start:repeat:startPosition:

开始播放

- (void)start:(NSString *)path repeat:(BOOL)repeat startPosition:(long)position

Parameters

path

媒体文件的路径

repeat

是否重复播放

position

指定开始播放的进度,单位毫秒

Discussion

Warning: Deprecated, 请使用 start:startPosition: 代替,如果需要设置循环播放次数,使用 setLoopCount: 接口

Note: 当 position 超过播放总时长,将从头开始播放

Declared In

zego-api-mediaplayer-oc.h

– start:startPosition:

开始播放

- (void)start:(NSString *)path startPosition:(long)position

Parameters

path

媒体文件的路径

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Declared In

zego-api-mediaplayer-oc.h

– startMediaData:startPosition:

开始播放

- (void)startMediaData:(NSData *)data startPosition:(long)position

Parameters

data

媒体数据

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Declared In

zego-api-mediaplayer-oc.h

– startMediaData:dataLen:startPosition:

开始播放

- (void)startMediaData:(unsigned char *)data dataLen:(int)len startPosition:(long)position

Parameters

data

媒体数据

len

媒体数据的大小

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Declared In

zego-api-mediaplayer-oc.h

– startCopyrightedMusic:startPosition:

开始播放

- (void)startCopyrightedMusic:(NSString *)resourceId startPosition:(long)position

Parameters

resourceId

从版权音乐模块获取的资源 ID

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Declared In

zego-api-mediaplayer-oc.h

– stop

停止播放

- (void)stop

Declared In

zego-api-mediaplayer-oc.h

– pause

暂停播放

- (void)pause

Declared In

zego-api-mediaplayer-oc.h

– resume

恢复播放

- (void)resume

Declared In

zego-api-mediaplayer-oc.h

– seekTo:

设置指定的进度进行播放

- (void)seekTo:(long)millisecond

Parameters

millisecond

指定的进度,单位毫秒

Declared In

zego-api-mediaplayer-oc.h

– enableAccurateSeek:

设置是否开启精准搜索

- (void)enableAccurateSeek:(bool)enable

Parameters

enable

是否开启 @note: 播放文件之前调用,即Start或Load前,播放过程中调用不起作用,但可能对下个文件的播放起作用.

Declared In

zego-api-mediaplayer-oc.h

– setAccurateSeekTimeout:

设置精确搜索的超时时间

- (void)setAccurateSeekTimeout:(long)timeoutInMS

Parameters

timeoutInMS

超时时间, 单位毫秒. 有效值区间 [2000, 10000]

Discussion

Note: 如果不设置, SDK 内部默认是设置 5000 毫秒

Declared In

zego-api-mediaplayer-oc.h

– getDuration

获取整个文件的播放时长

- (long)getDuration

Return Value

文件的播放时长,单位毫秒

Declared In

zego-api-mediaplayer-oc.h

– getCurrentDuration

获取当前播放的进度

- (long)getCurrentDuration

Return Value

当前播放进度,单位毫秒

Declared In

zego-api-mediaplayer-oc.h

– getCurrentRenderingDuration

获取当前播放渲染的进度

- (long)getCurrentRenderingDuration

Return Value

当前播放渲染进度,单位毫秒

Declared In

zego-api-mediaplayer-oc.h

– muteLocal:

设置本地静默播放

- (void)muteLocal:(BOOL)mute

Parameters

mute

是否静默播放

Discussion

Warning: 如果设置 MediaPlayerTypeAux 模式,推出的流是有声音的

Declared In

zego-api-mediaplayer-oc.h

– load:

预加载资源

- (void)load:(NSString *)path

Parameters

path

媒体文件的路径

Discussion

Note: 如果是视频, 会将首帧画面显示在显示控件上(通过 setView 设置的). 之后需要播放资源时请调用 Resume 接口

Declared In

zego-api-mediaplayer-oc.h

– load:startPosition:

预加载资源

- (void)load:(NSString *)path startPosition:(long)position

Parameters

path

媒体文件的路径

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Note: 如果是视频, 会将首帧画面显示在显示控件上(通过 setView 设置的). 之后需要播放资源时请调用 Resume 接口

Declared In

zego-api-mediaplayer-oc.h

– loadMediaData:startPosition:

预加载资源

- (void)loadMediaData:(NSData *)data startPosition:(long)position

Parameters

data

媒体数据

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Note: 如果是视频, 会将首帧画面显示在显示控件上(通过 setView 设置的). 之后需要播放资源时请调用 Resume 接口

Declared In

zego-api-mediaplayer-oc.h

– loadMediaData:dataLen:startPosition:

预加载资源

- (void)loadMediaData:(unsigned char *)data dataLen:(int)len startPosition:(long)position

Parameters

data

媒体数据

len

媒体数据的大小

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Note: 如果是视频, 会将首帧画面显示在显示控件上(通过 setView 设置的). 之后需要播放资源时请调用 Resume 接口

Declared In

zego-api-mediaplayer-oc.h

– loadCopyrightedMusic:startPosition:

预加载资源

- (void)loadCopyrightedMusic:(NSString *)resourceId startPosition:(long)position

Parameters

resourceId

从版权音乐模块获取的资源 ID

position

指定开始播放的进度,单位毫秒

Discussion

Note: 当 position 超过播放总时长,将从头开始播放

Note: 如果是视频, 会将首帧画面显示在显示控件上(通过 setView 设置的). 之后需要播放资源时请调用 Resume 接口

Declared In

zego-api-mediaplayer-oc.h

– setView:

设置显示视频的view

- (void)setView:(UIView *)view

Parameters

view

播放的控件

Declared In

zego-api-mediaplayer-oc.h

– setVolume:

设置本地播放音量, 如果播放器设置了推流模式, 也会设置推流音量

- (void)setVolume:(int)volume

Parameters

volume

音量,取值范围[0, 200],默认 60

Declared In

zego-api-mediaplayer-oc.h

– setPublishVolume:

设置推流音量

- (void)setPublishVolume:(int)volume

Parameters

volume

音量,取值范围[0, 200],默认 60

Declared In

zego-api-mediaplayer-oc.h

– setPlayVolume:

设置本地播放音量

- (void)setPlayVolume:(int)volume

Parameters

volume

音量,取值范围[0, 200],默认 60

Declared In

zego-api-mediaplayer-oc.h

– getPublishVolume

获取推流音量

- (int)getPublishVolume

Declared In

zego-api-mediaplayer-oc.h

– getPlayVolume

获取本地播放音量

- (int)getPlayVolume

Declared In

zego-api-mediaplayer-oc.h

– setPlaySpeed:

设置本地播放倍速

- (void)setPlaySpeed:(float)speed

Parameters

speed

音量,取值范围[0.5, 4.0],默认 1.0

Discussion

Note: 回调对应onPlayStart或onLoadComplete 之后可以调用

Declared In

zego-api-mediaplayer-oc.h

– setAudioStream:

设置播放文件的音轨

- (long)setAudioStream:(long)streamIndex

Parameters

streamIndex

音轨序号,可以通过 getAudioStreamCount 接口获取音轨个数

Declared In

zego-api-mediaplayer-oc.h

– setAudioPublishStream:

设置媒体文件需要推流的音轨

- (void)setAudioPublishStream:(long)streamIndex

Parameters

streamIndex

音轨序号,可以通过 getAudioStreamCount 接口获取音轨个数

Discussion

Note: 该接口需要通过 SetAudioTrackMode 开启多音轨模式下才生效

Declared In

zego-api-mediaplayer-oc.h

– setAudioTrackMode:

设置媒体播放器的音轨模式

- (void)setAudioTrackMode:(ZegoMediaPlayerAudioTrackMode)mode

Parameters

mode

音轨模式

Discussion

Note: 当指定多音轨模式时需要搭配 SetAudioPublishStream 一起使用,用于支持本地播放和推流分别使用不同的音轨

Note: 仅在开始播放 start 前调用生效

Declared In

zego-api-mediaplayer-oc.h

– setPlayerType:

设置播放器类型

- (void)setPlayerType:(MediaPlayerType)type

Parameters

type

@see MediaPlayerType

Declared In

zego-api-mediaplayer-oc.h

– takeSnapshot

获取当前播放视频的截图

- (void)takeSnapshot

Discussion

Note: 只有在调用 setView 设置了显示控件,以及播放状态的情况下,才能正常截图。

Declared In

zego-api-mediaplayer-oc.h

– getAudioStreamCount

获取音轨个数

- (long)getAudioStreamCount

Return Value

音轨个数

Declared In

zego-api-mediaplayer-oc.h

– enableRepeatMode:

设置是否重复播放

- (void)enableRepeatMode:(BOOL)enable

Parameters

enable

YES:重复播放,NO:不重复播放

Discussion

Warning: Deprecated, 请使用 setLoopCount: 代替

Declared In

zego-api-mediaplayer-oc.h

– setLoopCount:

设置循环播放次数

- (void)setLoopCount:(int)loopCount

Parameters

loopCount

循环次数,-1 表示无限循环,0 表示不循环,>0 表示循环次数,实际播放次数为 (loopCount+1)

Discussion

Note: 默认为不循环播放

Declared In

zego-api-mediaplayer-oc.h

– setProcessInterval:

设置播放进度回调间隔。

- (BOOL)setProcessInterval:(long)interval

Parameters

interval

回调间隔,单位毫秒。有效值为大于等于 0。默认值为 0。

Discussion

Note: 设置 interval 大于 0 时,就会收到 onProcessInterval:playerIndex: 回调。interval = 0 时,停止回调。

Note: 回调不会严格按照设定的回调间隔值返回,而是以处理音频帧或者视频帧的频率来判断是否需要回调。

Declared In

zego-api-mediaplayer-oc.h

– requireHWDecoder

设置使用硬件解码

- (BOOL)requireHWDecoder

Return Value

设置是否成功

Discussion

Note: 当前只支持 iOS 系统

Note: 需要在加载媒体资源之前设置,即在 start 或者 load 之前

Note: 即使设置了使用硬件解码,引擎也会根据当前硬件情况决定是否使用

Note: 多次调用没有影响

Declared In

zego-api-mediaplayer-oc.h

– setViewMode:

设置播放器播放控件的显示模式

- (void)setViewMode:(ZegoVideoViewMode)mode

Parameters

mode

显示模式,详见 ZegoVideoViewMode,默认为 ZegoVideoViewModeScaleAspectFit

Declared In

zego-api-mediaplayer-oc.h

– setBackgroundColor:

设置播放的背景颜色

- (void)setBackgroundColor:(int)color

Parameters

color

颜色,取值为0x00RRGGBB

Declared In

zego-api-mediaplayer-oc.h

– clearView

清除播放控件播放结束后, 在控件上保留的最后一帧画面

- (void)clearView

Declared In

zego-api-mediaplayer-oc.h

– setActiveAudioChannel:

设置播放声道

- (void)setActiveAudioChannel:(ZegoMediaPlayerAudioChannel)channel

Parameters

channel

声道, 参见 ZegoMediaPlayerAudioChannel 定义. 播放器初始化时默认是 ZegoMediaPlayerAudioChannelAll

Declared In

zego-api-mediaplayer-oc.h

– setAudioChannel:keyShift:

设置声道音调

- (void)setAudioChannel:(ZegoMediaPlayerAudioChannel)channel keyShift:(float)value

Parameters

channel

声道, 参见 ZegoMediaPlayerAudioChannel 定义

value

音调偏移值, 有效值范围 [-8.0, 8.0], 播放器初始化时默认是 0

Discussion

Note: 可选择设置左声道、右声道、左右声道,当只设置一个声道时,另一个声道保持原值

Declared In

zego-api-mediaplayer-oc.h

– setOnlineResourceCacheDuration:andSize:

设置网络素材最大的缓存时长和缓存数据大小, 以先达到者为准

- (void)setOnlineResourceCacheDuration:(int)time andSize:(int)size

Parameters

time

缓存最大时长, 单位 ms, 有效值为大于等于 2000, 如果填 0, 表示不限制

size

缓存最大尺寸, 单位 byte, 有效值为大于等于 5000000, 如果填 0, 表示不限制

Discussion

Note: 不允许 time 和 size 都为 0

Note: SDK 内部默认 timeInMS 为 5000, sizeInByte 为 1510241024

Note: 在 start 或者 load 之前调用, 设置一次, 生命周期内一直有效

Declared In

zego-api-mediaplayer-oc.h

– getOnlineResourceCacheStat:andSize:

获取网络素材缓存队列的缓存数据可播放的时长和缓存数据大小

- (bool)getOnlineResourceCacheStat:(int *)time andSize:(int *)size

Parameters

time

缓存数据可播放的时长, 单位 ms

size

缓存数据大小, 单位 byte

Return Value

true 调用成功, false 调用失败

Declared In

zego-api-mediaplayer-oc.h

– setBufferThreshold:

设置缓冲回调的阈值, 缓冲区可播放时长大于阈值时,开始播放, 并回调 OnBufferEnd

- (void)setBufferThreshold:(int)threshold

Parameters

threshold

阈值, 单位 ms

Discussion

Note: 在 Start 或者 Load 之前调用, 设置一次, 生命周期内一直有效

Note: SDK 默认值是 5000ms

Declared In

zego-api-mediaplayer-oc.h

– setLoadResourceTimeout:

设置加载资源的超时时间

- (void)setLoadResourceTimeout:(int)timeout

Parameters

timeout

超时时间, 单位 ms, 有效值为大于等于 1000

Discussion

Note: 在 start 或者 load 之前设置, 设置一次, 生命周期内一直有效

Note: 当打开文件超过设定超时时间,会失败并回调 onPlayError

Note: SDK 默认会一直等待

Declared In

zego-api-mediaplayer-oc.h

– getMetaDataValue:

通过键值获取保存在媒体文件中的元数据信息

- (NSString *)getMetaDataValue:(NSString *)key

Parameters

key

要获取元数据的键值

Return Value

指定键值对应的元数据信息。媒体文件未加载或元数据中没有指定的键值时,将返回 nil。

Declared In

zego-api-mediaplayer-oc.h

– setHttpHeaders:

设置 http 网络资源的http headers

- (void)setHttpHeaders:(NSDictionary *)headers

Parameters

headers

http headers, 每一个 key 和 value 不大于 512 字节

Declared In

zego-api-mediaplayer-oc.h

– updatePosition:

  • @brief 更新媒体播放器(音频源)位置
- (void)updatePosition:(const float [ _Nonnull 3 ])position

Discussion

  • @param position 用户的三维空间坐标
  • @note 此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功
  • @note 此接口需要在 initWithPlayerType 后,uninit 前调用

Declared In

zego-api-mediaplayer-oc.h

– setPlayMediaStreamType:

设置媒体播放器播放的媒体流类型

- (void)setPlayMediaStreamType:(ZegoMediaStreamType)type

Parameters

type

媒体流类型,详见 {@link ZegoConstants.ZegoMediaStreamType}

Discussion

Note: 用于仅播放音频流或者视频流的场景

Declared In

zego-api-mediaplayer-oc.h