跳转至

IOS

本文讲述如何在集成ios版本的player sdk。

集成环境

  • 环境要求:iOS11.0

  • 开发工具:Xcode

  • 依赖sdk:MGABR.framework,EasyDataSource.framework,PlayConfig.framework

接入流程

第一步重定向播放器日志

1.日志重定向 MGPLog.shared.logRedirectCallback;

2.设置打印日志等级MGPLog.shared.logLevel。

3.MGPLog.shared.logRedirectCallback; 在整个App生命周期内只需要设置一次。

第二步播放器事件上报

1.监听消息中心消息MGTVAutoEventNotification;

2.接入大数据sdk;

3.事件上报wiki:https://wiki.imgo.tv/pages/viewpage.action?pageId=5351985。

第三步播放器能力集开关更新

1.进入点播前调用MGGlobalConfig.shareDefault.refresh:设置开关;

第四步播放器初始化

1.创建 MGMediaPlayerConfig *playerConfig = [[MGPMediaPlayerConfig alloc] init];

2.创建 MGMediaPlayer *player = [[MGPMediaPlayer alloc] initWithConfig:self.config];

3.设置player.delegate监听player消息回调(delegate 回调含义参照MGPMediaPlayerDelegate注释);

4.创建 MGMediaPlayerView *playerView = [[MGPMediaPlayerView alloc] init];(音频播放不需要)

5.播放view绑定播放器[playerView setPlayer:player];(音频播放不需要)

第五步播放器起播调用流程

1.创建 MGPMediaInfoItem *infoItem = [[MGPMediaInfoItem alloc] init];

2.InfoItem成员属性赋值(具体含义参考代码注释);

  1. 如果希望望自动播放 调用 [player startWithMediaInfo:infoItem]; 如果只希望预加载资源

调用 [player prepareWithMediaInfo:infoItem];

希望进入播放状态调用 [player play]

4.结束播放调用 [player stop]

播放器状态

当使用播放器开发播放业务时,需遵循自研播放器状态机调用api。
视频播放状态机

特殊场景处理

离线播放接入(只列出与其他播放不同点)

  1. 固定设置 MGPMediaInfoItem.businessType = MGPPlayerBusinessTypeOffline;

  2. MGPMediaInfoItem.originalURL = MGPMediaInfoItem.realURL = @"file://*";

3.设置MGPMediaInfoItem.md5Result,是否通过视频md5校验;

4.固定设置MGPMediaInfoItem.sourceType = MGPlayerDataSourceTypeCND;

5.固定设置MGPMediaInfoItem.p2pType = MGPlayerP2PTypeCDN;

6.MGPMediaInfoItem.offlineFileHash = “离线视频文件md5值”

FM音频播放(只列出与其他播放不同点)

1.playerConfig.onlyAudio = YES;

2.playerConfig.backgroundPlay = YES;

3.设置 MGPMediaInfoItem.audioExtraInfo;

4.MGPMediaInfoItem.businessType = MGPPlayerBusinessTypeAudioFM;

chinaDRM 接入

1.设置 MGPMediaInfoItem.chinaDrmInfo;

2.设置 MGPMediaInfoItem.drmflag;

3.设置 MGPMediaInfoItem.drmFirm;

4.设置 MGPMediaInfoItem.drmSulotion;

5.设置 MGPMediaInfoItem.dataSourcePipeline |= MGPPlayerDataSourcePipelineDrm

FairPlayDRM 接入

1.设置 MGPMediaInfoItem.dataSourcePipeline |= MGPlayerDataSourcePipelineDrm

2.设置 MGPMediaInfoItem.drmflag;

3.设置 MGPMediaInfoItem.drmFirm;

4.设置 MGPMediaInfoItem.drmSulotion;

5.设置 MGPMediaInfoItem.fairplayDrmInfo;

P2P接入

1.设置MGPMediaInfoItem.dataSourcePipeline |= MGPlayerDataSourcePipelineP2P;

2.设置MGPMediaInfoItem.sourceType

Wanos接入

设置MGPMediaPlayer.wanosAudioEffectConfig(数据来源一层下发url从url获取)

支持h265

1.通过1.MGPGlobalConfig.shareDefault.h265Supported判断是否支持支持H265;

2.如果播放器播放H265在报错 code = 100600, subcode = 30031,则用h264重试;