集成指南

1.SDK集成

注意:为了更好的使用我们的产品,4.8.0版本以后,我们将SDK更改为framework类型,如升级遇到编译报错,打包上架报错等问题,请详见6.常见问题。

1.1 方法1:Cocoapods导入

执行 pod search 'CCVodSDK'

Podfile 文件中增加如下代码: pod 'CCVodSDK'

执行pod install 即可。

如果没有安装cocoapods,请执行 sudo gem install cocoapods命令,安装cocoapods。

如果搜索不到,请执行下述命令清除搜索列表缓存 rm ~/Library/Caches/CocoaPods/search_index.json,之后再调用search命令搜索。

1.2 方法2:手动导入SDK

下载iOS_SDK_Demo,将项目中的SDK(或外级目录下的include文件夹导入项目),选择Copy items if needed,Finish,导入即可。

SDK依赖的系统库如下

项目 - TARGETS - Build Settings所有Other Linker Flags,添加-lxml2。

项目 - TARGETS - General - Frameworks.Libraries,and Embedded Content - 找到HDBaseUtils.framework、CCVodSDK.framework,将默认Do Not Embed修改为Embed & Sign。

如果使用了DWPlayerSkinView和VR相关的功能,需要添加CCVodSDK.framework中的DWResource.bundle,vrlibraw.bundle,否则资源文件不能正常显示。添加方法:选中工程名,在右键菜单中选择Add Files to “工程名”…,从CCVodSDK.framework文件中选择DWResource.bundle,vrlibraw.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。

2.SDK demo项目结构

名称描述
DemoiOS_SDK_Demo源码
dociOS点播SDK开发指南及离线API
includeSDK开放的头文件及静态库,同demo中的SDK文件夹

以下是iOS_SDK_Demo中,主要的目录结构及说明:

Demo

DWAppDelegate.h/m

DWConfigurationManager.h/m (Demo app的一些全局配置设置)

SDK (iOS点播SDK)

CCVodSDK.h (SDK头文件)

DWPlayInfo.h (负责获取音视频对象数据)

DWVodVideoModel.h (音视频model)

DWVodAdInfoModel.h (广告model)

DWPlayerView.h (继承自UIView,负责媒体播放,此类并不带播放相关UI,播放控制需自己实现)

DWPlayerSkinView.h (带播放控制的PlayerView)

DWDownloadSessionManager.h (下载管理中心,音视频下载功能通过此类来实现)

DWDownloadModel.h (下载model)

DWBatchDownloadUtility.h (批量下载功能,可以通过videos,批量来获取视频的下载链接)

DWUploader.h (视频上传器)

DWVideoCompressController.h (媒体选择页面,可以设置一些媒体压缩格式)

... (其他相关类,请详见demo)

Classes (Demo app 项目的主要类)

DWMainViewController.h/m (首页)

DWVodPlayViewController.h/m (在线视频播放页)

DWVodPlayerSkinViewController.h/m (视频播放页,SDK中自带皮肤的播放控制页面)

DWDownloadManagerViewController.h/m (下载管理页)

DWLocalPlayViewController.h/m (本地视频播放页面)

DWUploadViewController.h/m (上传管理页面)

DWUploadInfoSetupViewController.h/m (上传设置页面)

DWMemberViewController.h/m (app相关配置页面)

DWNetworkMonitorViewController.h/m (网络检测页面)

Base (demo app基类文件夹)

DWNavigationViewController.h/m

DWBaseViewController.h/m

Model(demo app Model文件夹)

DWVodModel (demo中,媒体对象model)

DWTableChooseModel

DWUploadModel

CustomDirectorFactory

View (demo app View文件夹,包含点播demo主要的功能。具体内部类比较繁多,这里就不一一列举了,详见demo)

Main

Player (视频播放相关的view)

VideoMark (视频打点)

Question (视频问答)

SubTitle (视频字幕)

Authorize (授权验证)

Gif(GIF录制)

Visitor(访客信息收集器)

Exercises(课堂练习)

Ad (广告)

Download (下载)

Upload (上传)

ProjectionScreen(视频投屏)

Barrage(视频弹幕)

Others (其余使用到的类)

... (额外的其他功能,这里就不一一列举了)

Plugins (工具类)

Tools (Demo中使用的一些通用方法)

OCBarrage (视频弹幕控件)

SDWebImage

MJExtension

Masonry

MBProgressHUD

Images (图片资源)

3.快速集成

注:快速集成主要提供的是视频播放、下载、上传功能等核心功能的使用方式。

3.1 视频播放功能

3.1.1 在合适的位置设置AudioSession

3.1.2 通过获得场景账号UserID、APIKey、VideoId,来获取DWVodVideoModel对象。无获得场景账号?点击注册

3.1.3 创建DWPlayerView(默认播放器)/DWPlayerSkinView(带皮肤的播放器)对象添加到视图中,待获取到DWVodVideoModel对象后传入,即可播放在线视频

3.2 下载功能

3.2.1 通过获得场景账号UserID、APIKey、VideoId,来获取DWVodVideoModel对象

3.2.2 获取DWDownloadSessionManager单例对象,创建DWDownloadModel对象,通过调用startWithDownloadModel:方法即可开始下载

3.3 上传功能

3.3.1 通过DWVideoCompressController,选择要上传的视频

3.3.2 获取到本地视频路径,通过DWUploadSessionManager创建DWUploadModel,开始上传