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
成员属性赋值(具体含义参考代码注释);
- 如果希望望自动播放
调用
[player startWithMediaInfo:infoItem]
; 如果只希望预加载资源
调用 [player prepareWithMediaInfo:infoItem]
;
希望进入播放状态调用 [player play]
4.结束播放调用 [player stop]
播放器状态¶
当使用播放器开发播放业务时,需遵循自研播放器状态机调用api。
特殊场景处理¶
离线播放接入(只列出与其他播放不同点)¶
-
固定设置
MGPMediaInfoItem.businessType = MGPPlayerBusinessTypeOffline;
-
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重试;