... | @@ -5,18 +5,21 @@ |
... | @@ -5,18 +5,21 @@ |
|
|
|
|
|
### 1.1 方法1:Cocoapods导入
|
|
### 1.1 方法1:Cocoapods导入
|
|
|
|
|
|
执行 `pod search 'CCVodSDK'`
|
|
执行 `pod search 'CCVodSDK'`
|
|
|
|
|
|
Podfile 文件中增加如下代码:
|
|
Podfile 文件中增加如下代码:
|
|
pod 'CCVodSDK'
|
|
`pod 'CCVodSDK'`
|
|
执行`pod install` 即可。
|
|
执行`pod install` 即可。
|
|
|
|
|
|
集成完查看HDBaseUtils版本号。HDBaseUtils版本从1.1.9版本开始需要集成'HDSCocoaLumberjack'库:
|
|
集成完查看HDBaseUtils版本号。HDBaseUtils版本从1.1.9版本开始需要集成'CocoaLumberjack'库:
|
|
Podfile 文件中增加如下代码:
|
|
集成完查看HDBaseUtils版本号。HDBaseUtils版本从1.2.0版本开始需要集成'SSZipArchive'库:
|
|
`pod 'HDSCocoaLumberjack'`
|
|
|
|
|
|
|
|
再次执行`pod install` 即可。
|
|
Podfile 文件中增加如下代码:
|
|
|
|
|
|
|
|
pod 'HDSCocoaLumberjack' (HDBaseUtils版本 >= 1.1.9时,需要添加)
|
|
|
|
pod 'HDSSZip' (HDBaseUtils版本 >= 1.2.0时,需要添加)
|
|
|
|
再次执行pod install 即可
|
|
|
|
|
|
如果没有安装cocoapods,请执行 `sudo gem install cocoapods`命令,安装cocoapods。
|
|
如果没有安装cocoapods,请执行 `sudo gem install cocoapods`命令,安装cocoapods。
|
|
|
|
|
|
如果搜索不到,请执行下述命令清除搜索列表缓存 `rm ~/Library/Caches/CocoaPods/search_index.json`,之后再调用search命令搜索。
|
|
如果搜索不到,请执行下述命令清除搜索列表缓存 `rm ~/Library/Caches/CocoaPods/search_index.json`,之后再调用search命令搜索。
|
... | @@ -39,14 +42,17 @@ SDK依赖的系统库如下 |
... | @@ -39,14 +42,17 @@ SDK依赖的系统库如下 |
|
- CoreMedia.framework
|
|
- CoreMedia.framework
|
|
|
|
|
|
SDK依赖的开源库如下
|
|
SDK依赖的开源库如下
|
|
CocoaLumberjack.framework (动态库)
|
|
▪ CocoaLumberjack.framework (动态库:HDBaseUtils版本 >= 1.1.9时,需要添加)
|
|
可从demo内获取,或者自己编译或者pod远程依赖都行;
|
|
▪ SSZipArchive.framework (动态库:HDBaseUtils版本 >= 1.2.0时,需要添加)
|
|
|
|
可从demo内获取或者pod远程依赖都行;
|
|
|
|
|
|
项目 - TARGETS - Build Settings所有Other Linker Flags,添加-lxml2。
|
|
项目 - TARGETS - Build Settings所有Other Linker Flags,添加-lxml2。
|
|
|
|
|
|
项目 - TARGETS - General - Frameworks.Libraries,and Embedded Content - 找到HDBaseUtils.framework、CCVodSDK.framework,将默认Do Not Embed修改为Embed & Sign。
|
|
项目 - TARGETS - General - Frameworks.Libraries,and Embedded Content - 找到HDBaseUtils.framework、CCVodSDK.framework,将默认Do Not Embed修改为Embed & Sign。
|
|
注意:如果HDBaseUtils版本>= 1.1.9 同样需要把引入的开源动态库设置,将默认Do Not Embed修改为Embed & Sign。
|
|
注意:如果HDBaseUtils版本>= 1.1.9 同样需要把引入的开源动态库设置,将默认Do Not Embed修改为Embed & Sign。
|
|
|
|
|
|
|
|
注意:同样需要把引入的开源动态库设置,将默认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”按钮,将资源文件添加到工程中。
|
|
如果使用了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项目结构
|
|
## 2.SDK demo项目结构
|
... | @@ -181,6 +187,39 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
... | @@ -181,6 +187,39 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
|
注:快速集成主要提供的是视频播放、下载、上传功能等核心功能的使用方式。
|
|
注:快速集成主要提供的是视频播放、下载、上传功能等核心功能的使用方式。
|
|
|
|
|
|
### 3.1 视频播放功能
|
|
### 3.1 视频播放功能
|
|
|
|
#### 3.1.0 安全key枚举值说明
|
|
|
|
|
|
|
|
[DWVodVerifyType_Sid模式的使用说明](https://doc.bokecc.com/vod/developer/base/sdksid/sdksid.html)
|
|
|
|
|
|
|
|
1、Vod SDK验证方式
|
|
|
|
```
|
|
|
|
typedef NS_ENUM(NSInteger,DWVodVerifyType) {
|
|
|
|
DWVodVerifyType_NONE, //未指定(使用旧接口,APIKey的验证方式)
|
|
|
|
DWVodVerifyType_APIKey, //APIKey验证(使用新接口,APIKey的验证方式)
|
|
|
|
DWVodVerifyType_Sid, //Sid 验证(使用新接口,Sid的验证方式)
|
|
|
|
};
|
|
|
|
```
|
|
|
|
|
|
|
|
2、获取key的函数由应用层实现(具体可参考demo实现)
|
|
|
|
>1、类型:DWVodVerifyType_NONE
|
|
|
|
>> 使用不带枚举参数接口,正常传参数使用接口即可;
|
|
|
|
|
|
|
|
>2、类型:DWVodVerifyType_APIKey
|
|
|
|
>> 使用带枚举参数接口,可直接在回调函数返回 APIKey;
|
|
|
|
|
|
|
|
>3、类型:DWVodVerifyType_Sid
|
|
|
|
>>a、 使用带枚举参数接口,需要在回调函数返回 sid;
|
|
|
|
>>b、 需要用户在工程项目层获取并维护sid;
|
|
|
|
>>c、 sid使用可参考 [DWVodVerifyType_Sid模式的使用说明](https://doc.bokecc.com/vod/developer/base/sdksid/sdksid.html)
|
|
|
|
|
|
|
|
3、具体sid使用可参考demo如下函数实现
|
|
|
|
```
|
|
|
|
/**
|
|
|
|
* 获取验证的key,参数uid 为账号id
|
|
|
|
*/
|
|
|
|
+ (NSString *)getVerifyKey:(NSString *)uid;
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
#### 3.1.1 在合适的位置设置AudioSession
|
|
#### 3.1.1 在合适的位置设置AudioSession
|
|
|
|
|
... | @@ -203,10 +242,13 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
... | @@ -203,10 +242,13 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
|
|
#### 3.1.2 通过获得场景账号UserID、APIKey、VideoId,来获取DWVodVideoModel对象。无获得场景账号?[点击注册](https://admin.bokecc.com/login.bo)
|
|
#### 3.1.2 通过获得场景账号UserID、Key、VideoId,来获取DWVodVideoModel对象。无获得场景账号?[点击注册](https://admin.bokecc.com/login.bo)
|
|
|
|
|
|
```
|
|
```
|
|
DWPlayInfo * playInfo = [[DWPlayInfo alloc]initWithUserId:@"账号ID" andVideoId:@"视频ID" key:@"APIKey" hlsSupport:@"1"];
|
|
DWPlayInfo * playInfo = [[DWPlayInfo alloc]initWithUserId:userid andVideoId:videoId hlsSupport:@"1" verifyType:verifyType provider:^NSString * _Nullable(NSString * _Nonnull userid) {
|
|
|
|
//具体实现可参考demo
|
|
|
|
return [DWConfigurationManager getVerifyKey:userid];
|
|
|
|
}];
|
|
playInfo.timeoutSeconds = 30;
|
|
playInfo.timeoutSeconds = 30;
|
|
playInfo.mediatype = @"1";
|
|
playInfo.mediatype = @"1";
|
|
playInfo.verificationCode = @"授权验证码,没有此功能不需要设置";
|
|
playInfo.verificationCode = @"授权验证码,没有此功能不需要设置";
|
... | @@ -249,11 +291,14 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
... | @@ -249,11 +291,14 @@ include|SDK开放的头文件及静态库,同demo中的SDK文件夹 |
|
|
|
|
|
### 3.2 下载功能
|
|
### 3.2 下载功能
|
|
|
|
|
|
#### 3.2.1 通过获得场景账号UserID、APIKey、VideoId,来获取DWVodVideoModel对象
|
|
#### 3.2.1 通过获得场景账号UserID、Key、VideoId,来获取DWVodVideoModel对象
|
|
|
|
|
|
```
|
|
```
|
|
//获取方式与视频获取方式一样,只不过hlsSupport参数要传@"0"
|
|
//获取方式与视频获取方式一样,只不过hlsSupport参数要传@"0"
|
|
DWPlayInfo * playInfo = [[DWPlayInfo alloc]initWithUserId:@"账号ID" andVideoId:@"视频ID" key:@"APIKey" hlsSupport:@"0"];
|
|
DWPlayInfo * playInfo = [[DWPlayInfo alloc]initWithUserId:userid andVideoId:videoId hlsSupport:@"0" verifyType:verifyType provider:^NSString * _Nullable(NSString * _Nonnull userid) {
|
|
|
|
//具体实现可参考demo
|
|
|
|
return [DWConfigurationManager getVerifyKey:userid];
|
|
|
|
}];
|
|
...
|
|
...
|
|
|
|
|
|
```
|
|
```
|
... | | ... | |