ZegoMediaPlayer Class Reference
Inherits from | NSObject |
---|---|
Declared in | zego-api-mediaplayer-oc.h |
– 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
– 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
– 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
– setPlaySpeed:
设置本地播放倍速
- (void)setPlaySpeed:(float)speed
Parameters
speed |
音量,取值范围[0.3, 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
– 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