... | ... | @@ -277,7 +277,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
## 3.0解压方法
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 解压并解密(加密和非加密均能解压)
|
|
|
* @param dst 需要进行解压解密的文件.
|
... | ... | @@ -300,7 +300,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
3.1.1 调用方法
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 初始化
|
|
|
* @param parameter 配置参数信息
|
... | ... | @@ -311,13 +311,7 @@ Destination 选择 "Frameworks" -> |
|
|
* 必填参数 scalingMode; //屏幕适配方式
|
|
|
* 必填参数 destination; //下载文件解压到的目录路径(离线下载相关)
|
|
|
* 必填参数 defaultColor; //ppt默认底色,不写默认为白色
|
|
|
* 必填参数 PPTScalingMode; //PPT适配方式
|
|
|
PPT适配模式分为四种,
|
|
|
1.拉伸填充,PPT内容全部展示在显示区域,会被拉伸或压缩,不会存在黑边
|
|
|
2.等比居中,PPT内容保持原始比例,适应窗口展示在显示区域,会存在黑边
|
|
|
3.等比填充,PPT内容保持原始比例,以横向或纵向适应显示区域,另一方向将会超出显示区域,超出部分会被裁减,不会存在黑边
|
|
|
4.根据直播间文档显示模式的返回值进行设置(推荐)
|
|
|
|
|
|
* 必填参数 PPTScalingMode; //ppt展示模式,建议值为2
|
|
|
* 必填参数 pauseInBackGround; //后台是否继续播放,注意:如果开启后台播放需要打开 xcode->Capabilities->Background Modes->on->Audio,AirPlay,and Picture in Picture
|
|
|
*/
|
|
|
- (id)initWithParameter:(PlayParameter *)parameter;
|
... | ... | @@ -325,7 +319,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 加载视频失败
|
|
|
*/
|
... | ... | @@ -338,19 +332,19 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
导入头文件
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
#import "CCSDK/OfflinePlayBack.h"//SDK
|
|
|
```
|
|
|
|
|
|
声明变量
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
@property (nonatomic,strong)OfflinePlayBack * offlinePlayBack;//sdk
|
|
|
```
|
|
|
|
|
|
配置参数:PlayParameter的属性如下
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 文档父类窗口
|
|
|
*/
|
... | ... | @@ -405,7 +399,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
开始配置
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
第一步:实例化参数类
|
|
|
PlayParameter *parameter = [[PlayParameter alloc] init];
|
|
|
//配置PlayParameter里面的属性,如userId,roomId等!
|
... | ... | @@ -427,7 +421,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
实现代理
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 加载视频失败
|
|
|
*/
|
... | ... | @@ -438,7 +432,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
**至此您的项目已经可以运行了,并且已经集成好了视频基本功能;如果不需要文档功能则不配置文档相关属性即可,另外添加文档功能写一个定时器在视频开始播放时调用下面的方法即可**
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* (已废弃)
|
|
|
* @brief time:从直播开始到现在的秒数,SDK会在画板上绘画出来相应的图形
|
... | ... | @@ -449,7 +443,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法 (可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 播放器时间
|
|
|
* @param currentTime 当前时间
|
... | ... | @@ -464,7 +458,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
3.2.1 代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 加载视频失败
|
|
|
*/
|
... | ... | @@ -479,7 +473,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
3.2.2 主动方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 开始解析数据并播放视频
|
|
|
*/
|
... | ... | @@ -547,7 +541,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
3.3.1 代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 获取文档内白板或者文档本身的宽高,来进行屏幕适配用的
|
|
|
*/
|
... | ... | @@ -583,7 +577,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
3.3.2 主动方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief time:从直播开始到现在的秒数,SDK会在画板上绘画出来相应的图形
|
|
|
*/
|
... | ... | @@ -630,7 +624,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 获取房间信息,主要是要获取直播间模版来类型,根据直播间模版类型来确定界面布局
|
|
|
* 房间简介:dic[@"desc"];
|
... | ... | @@ -650,7 +644,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 解析本房间的历史聊天数据
|
|
|
* @param chatArr [{ chatId //聊天ID
|
... | ... | @@ -670,7 +664,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 收到历史提问&回答
|
|
|
* @param questionArr [{content //问答内容
|
... | ... | @@ -700,7 +694,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 收到本房间历史广播(The new method)
|
|
|
* content 广播内容
|
... | ... | @@ -713,7 +707,7 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
播放器状态类型
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* 视频播放状态
|
|
|
* HDMoviePlaybackStateStopped 播放停止
|
... | ... | @@ -761,7 +755,7 @@ typedef NS_ENUM(NSUInteger, HDMovieFinishReason) { |
|
|
|
|
|
代理方法(可选)
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
/**
|
|
|
* @brief 视频状态改变
|
|
|
* @param state
|
... | ... | @@ -808,13 +802,13 @@ typedef NS_ENUM(NSUInteger, HDMovieFinishReason) { |
|
|
|
|
|
HD云直播的页面跳转均是采用模态形式跳转
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^ __nullable)(void))completion NS_AVAILABLE_IOS(5_0);
|
|
|
```
|
|
|
|
|
|
在每个控制器或者基类控制器设置旋转选项
|
|
|
|
|
|
```
|
|
|
```objective-c
|
|
|
#pragma mark - 屏幕旋转
|
|
|
- (BOOL)shouldAutorotate{
|
|
|
return NO;//该旋转的页面自己变量控制
|
... | ... | @@ -833,7 +827,7 @@ HD云直播的页面跳转均是采用模态形式跳转 |
|
|
|
|
|
## 4.2 Swift实现代理错误
|
|
|
|
|
|
```
|
|
|
```swift
|
|
|
//初始化
|
|
|
let parameter = PlayParameter.init()
|
|
|
/**
|
... | ... | |