... | @@ -720,6 +720,83 @@ DWVideoAuthorizeModel数据及含义如下: |
... | @@ -720,6 +720,83 @@ DWVideoAuthorizeModel数据及含义如下: |
|
|
|
|
|
///提示内容
|
|
///提示内容
|
|
@property (nonatomic, strong, readonly)NSString * message;
|
|
@property (nonatomic, strong, readonly)NSString * message;
|
|
|
|
|
|
|
|
///跑马灯数据
|
|
|
|
@property (nonatomic, strong, readonly)NSString * marqueeStr;
|
|
|
|
```
|
|
|
|
|
|
|
|
### 1.7.1 跑马灯功能
|
|
|
|
对于需要集成跑马灯功能的用户,请把.../demo/Plugins/HDMarqueeTool.framework拖拽到项目中,选择`Copy items if needed`,Finish,导入即可。
|
|
|
|
|
|
|
|
framework所依赖的系统库如下:
|
|
|
|
- Foundation.framework
|
|
|
|
- QuartzCore.framework
|
|
|
|
- UIKit.framework
|
|
|
|
|
|
|
|
HDMarqueeTool.framework中字段及含义如下:
|
|
|
|
HDMarqueeView是跑马灯视图。
|
|
|
|
```
|
|
|
|
///开始跑马灯
|
|
|
|
-(void)startMarquee;
|
|
|
|
|
|
|
|
///结束跑马灯
|
|
|
|
-(void)stopMarquee;
|
|
|
|
|
|
|
|
///父视图,必填
|
|
|
|
@property(nonatomic,assign)UIView * fatherView;
|
|
|
|
|
|
|
|
///跑马灯样式,默认文字样式
|
|
|
|
@property(nonatomic,assign)HDMarqueeViewStyle style;
|
|
|
|
|
|
|
|
///跑马灯文字内容
|
|
|
|
@property(nonatomic,copy)NSString * text;
|
|
|
|
|
|
|
|
///跑马灯文字格式
|
|
|
|
@property(nonatomic,copy)NSDictionary * textAttributed;
|
|
|
|
|
|
|
|
///跑马灯文字对齐方式,默认kCAAlignmentNatural
|
|
|
|
@property(nonatomic,copy)NSString * textAlignmentMode;
|
|
|
|
|
|
|
|
///跑马灯文字显示不全时,裁剪方式,默认kCATruncationNone
|
|
|
|
@property(nonatomic,copy)NSString * textTruncationMode;
|
|
|
|
|
|
|
|
///跑马灯文字是否自动换行,默认NO
|
|
|
|
@property(nonatomic,assign)BOOL wrapped;
|
|
|
|
|
|
|
|
///跑马灯图片
|
|
|
|
@property(nonatomic,strong)NSURL * imageURL;
|
|
|
|
|
|
|
|
///跑马灯图片显示模式,默认kCAGravityResize
|
|
|
|
@property(nonatomic,copy)NSString * imageGravity;
|
|
|
|
|
|
|
|
///跑马灯效果,必填
|
|
|
|
@property(nonatomic,strong)NSArray <HDMarqueeAction *> * actions;
|
|
|
|
|
|
|
|
///循环次数,默认1,0表示无限循环
|
|
|
|
@property(nonatomic,assign)NSInteger repeatCount;
|
|
|
|
```
|
|
|
|
|
|
|
|
HDMarqueeAction是跑马灯的具体动作,比如在一个时间段内,从(0,0)点移动到(0.5,0.5)点
|
|
|
|
```
|
|
|
|
//持续时间
|
|
|
|
@property(nonatomic,assign)CGFloat duration;
|
|
|
|
|
|
|
|
//动作开始时坐标位置
|
|
|
|
@property(nonatomic,strong,readonly)HDMarqueeActionPosition * startPostion;
|
|
|
|
|
|
|
|
//动作结束时坐标位置
|
|
|
|
@property(nonatomic,strong,readonly)HDMarqueeActionPosition * endPostion;
|
|
|
|
|
|
|
|
///用于记录每次的位置
|
|
|
|
@interface HDMarqueeActionPosition : NSObject
|
|
|
|
|
|
|
|
///坐标位置,取值范围0 - 1,例如(0.5,0.5)
|
|
|
|
@property(nonatomic,assign)CGPoint pos;
|
|
|
|
|
|
|
|
///透明度,取值范围 0 - 1
|
|
|
|
@property(nonatomic,assign)CGFloat alpha;
|
|
|
|
|
|
|
|
@end
|
|
```
|
|
```
|
|
|
|
|
|
## 1.8 广告功能
|
|
## 1.8 广告功能
|
... | @@ -1179,7 +1256,7 @@ DWUPnPDevice设备类,包含了一些设备的属性。以下是属性及含 |
... | @@ -1179,7 +1256,7 @@ DWUPnPDevice设备类,包含了一些设备的属性。以下是属性及含 |
|
@property(nonatomic,strong) DWServiceModel * RenderingControl;
|
|
@property(nonatomic,strong) DWServiceModel * RenderingControl;
|
|
```
|
|
```
|
|
|
|
|
|
## 1.13.3 接收投屏设备的回调
|
|
### 1.13.3 接收投屏设备的回调
|
|
DWUPnPSubscription是设备订阅类,主要负责订阅设备以及接收设备事件。
|
|
DWUPnPSubscription是设备订阅类,主要负责订阅设备以及接收设备事件。
|
|
|
|
|
|
具体的方法及含义如下:
|
|
具体的方法及含义如下:
|
... | @@ -1762,122 +1839,25 @@ DWUploadModel对象对应具体的上传任务。 |
... | @@ -1762,122 +1839,25 @@ DWUploadModel对象对应具体的上传任务。 |
|
|
|
|
|
```
|
|
```
|
|
|
|
|
|
## 4.关于跑马灯功能的集成
|
|
## 4.Demo的注意事项
|
|
|
|
|
|
### 4.1 导入HDMarqueeTool.framework
|
|
|
|
对于需要集成跑马灯功能的用户,请把.../demo/Plugins/HDMarqueeTool.framework拖拽到项目中,选择`Copy items if needed`,Finish,导入即可。
|
|
|
|
|
|
|
|
framework所依赖的系统库如下:
|
|
|
|
- Foundation.framework
|
|
|
|
- QuartzCore.framework
|
|
|
|
- UIKit.framework
|
|
|
|
|
|
|
|
### 4.2 跑马灯功能的使用
|
|
|
|
在demo中,我们预留了一套跑马灯配置marquee.json。若需体验此功能,只需找到../demo/Classes/View/Player下的DWVodPlayerView.m,将跑马灯方法取消注释即可。
|
|
|
|
```
|
|
|
|
-(instancetype)init
|
|
|
|
{
|
|
|
|
if (self == [super init]) {
|
|
|
|
|
|
|
|
[self initMaskView];
|
|
|
|
[self initTopFuncView];
|
|
|
|
[self initDownFuncView];
|
|
|
|
[self initLeftFuncView];
|
|
|
|
[self initPlayerView];
|
|
|
|
[self initRadioView];
|
|
|
|
[self initFuncGesture];
|
|
|
|
[self initAirPlayView];
|
|
|
|
//开启跑马灯功能,取消注释即可。
|
|
|
|
// [self initMarqueeView];
|
|
|
|
|
|
|
|
...
|
|
|
|
}
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 4.3 HDMarqueeTool.framework中字段及含义
|
|
|
|
HDMarqueeView是跑马灯视图。
|
|
|
|
```
|
|
|
|
///开始跑马灯
|
|
|
|
-(void)startMarquee;
|
|
|
|
|
|
|
|
///结束跑马灯
|
|
|
|
-(void)stopMarquee;
|
|
|
|
|
|
|
|
///父视图,必填
|
|
|
|
@property(nonatomic,assign)UIView * fatherView;
|
|
|
|
|
|
|
|
///跑马灯样式,默认文字样式
|
|
|
|
@property(nonatomic,assign)HDMarqueeViewStyle style;
|
|
|
|
|
|
|
|
///跑马灯文字内容
|
|
|
|
@property(nonatomic,copy)NSString * text;
|
|
|
|
|
|
|
|
///跑马灯文字格式
|
|
|
|
@property(nonatomic,copy)NSDictionary * textAttributed;
|
|
|
|
|
|
|
|
///跑马灯文字对齐方式,默认kCAAlignmentNatural
|
|
|
|
@property(nonatomic,copy)NSString * textAlignmentMode;
|
|
|
|
|
|
|
|
///跑马灯文字显示不全时,裁剪方式,默认kCATruncationNone
|
|
|
|
@property(nonatomic,copy)NSString * textTruncationMode;
|
|
|
|
|
|
|
|
///跑马灯文字是否自动换行,默认NO
|
|
|
|
@property(nonatomic,assign)BOOL wrapped;
|
|
|
|
|
|
|
|
///跑马灯图片
|
|
|
|
@property(nonatomic,strong)NSURL * imageURL;
|
|
|
|
|
|
|
|
///跑马灯效果,必填
|
|
|
|
@property(nonatomic,strong)NSArray <HDMarqueeAction *> * actions;
|
|
|
|
|
|
|
|
///循环次数,默认1,0表示无限循环
|
|
|
|
@property(nonatomic,assign)NSInteger repeatCount;
|
|
|
|
```
|
|
|
|
|
|
|
|
HDMarqueeAction是跑马灯的具体动作,比如在一个时间段内,从(0,0)点移动到(0.5,0.5)点
|
|
|
|
```
|
|
|
|
//持续时间
|
|
|
|
@property(nonatomic,assign)CGFloat duration;
|
|
|
|
|
|
|
|
//动作开始时坐标位置
|
|
|
|
@property(nonatomic,strong,readonly)HDMarqueeActionPosition * startPostion;
|
|
|
|
|
|
|
|
//动作结束时坐标位置
|
|
|
|
@property(nonatomic,strong,readonly)HDMarqueeActionPosition * endPostion;
|
|
|
|
|
|
|
|
///用于记录每次的位置
|
|
|
|
@interface HDMarqueeActionPosition : NSObject
|
|
|
|
|
|
|
|
///坐标位置,取值范围0 - 1,例如(0.5,0.5)
|
|
|
|
@property(nonatomic,assign)CGPoint pos;
|
|
|
|
|
|
|
|
///透明度,取值范围 0 - 1
|
|
|
|
@property(nonatomic,assign)CGFloat alpha;
|
|
|
|
|
|
|
|
@end
|
|
|
|
```
|
|
|
|
|
|
|
|
## 5.Demo的注意事项
|
|
|
|
Demo是使用SDK对接CC视频云的示例源码,Demo的设计旨在展示SDK各项功能的使用方法,Demo中的逻辑仅供参考,如果希望应用获得更好的使用体验,请根据自己的需求更改。
|
|
Demo是使用SDK对接CC视频云的示例源码,Demo的设计旨在展示SDK各项功能的使用方法,Demo中的逻辑仅供参考,如果希望应用获得更好的使用体验,请根据自己的需求更改。
|
|
|
|
|
|
注意:仅可默认体验播放、下载相关的功能,若需进行上传功能的测试,请查看4.3。
|
|
注意:仅可默认体验播放、下载相关的功能,若需进行上传功能的测试,请查看4.3。
|
|
|
|
|
|
### 5.1 默认播放列表
|
|
### 4.1 默认播放列表
|
|
我们提供了一些视频数据,用户在运行demo以后,无需进行额外的设置,即可体验我们SDK的功能。
|
|
我们提供了一些视频数据,用户在运行demo以后,无需进行额外的设置,即可体验我们SDK的功能。
|
|
|
|
|
|
### 5.2 自定义播放列表
|
|
### 4.2 自定义播放列表
|
|
若默认播放列表不能满足需求,可通过修改网络请求或者使用本地数据的方式来修改播放列表。具体修改方式如下。
|
|
若默认播放列表不能满足需求,可通过修改网络请求或者使用本地数据的方式来修改播放列表。具体修改方式如下。
|
|
|
|
|
|
#### 5.2.1 修改userId和APIKey
|
|
#### 4.2.1 修改userId和APIKey
|
|
无论是通过哪种方式来修改播放列表,首先,都需要修改demo中的userId跟APIKey。请找到DWConfigurationManager.m文件,修改DWAccount_userId,DWAccount_apikey属性值即可。例:
|
|
无论是通过哪种方式来修改播放列表,首先,都需要修改demo中的userId跟APIKey。请找到DWConfigurationManager.m文件,修改DWAccount_userId,DWAccount_apikey属性值即可。例:
|
|
```
|
|
```
|
|
self.DWAccount_userId = @"****************";
|
|
self.DWAccount_userId = @"****************";
|
|
self.DWAccount_apikey = @"********************************";
|
|
self.DWAccount_apikey = @"********************************";
|
|
```
|
|
```
|
|
|
|
|
|
#### 5.2.2 网络数据获取播放列表
|
|
#### 4.2.2 网络数据获取播放列表
|
|
用户可通过修改demo中网络请求URL的方式,来修改播放列表中的数据。
|
|
用户可通过修改demo中网络请求URL的方式,来修改播放列表中的数据。
|
|
```
|
|
```
|
|
//第一步 找到DWMainViewController.m 中的VIDEOINFOURL,并修改URL。
|
|
//第一步 找到DWMainViewController.m 中的VIDEOINFOURL,并修改URL。
|
... | @@ -1919,7 +1899,7 @@ self.DWAccount_apikey = @"********************************"; |
... | @@ -1919,7 +1899,7 @@ self.DWAccount_apikey = @"********************************"; |
|
|
|
|
|
```
|
|
```
|
|
|
|
|
|
#### 5.2.3 本地数据获取播放列表
|
|
#### 4.2.3 本地数据获取播放列表
|
|
用户也可不通过网络请求,通过修改本地数据来修改播放列表。
|
|
用户也可不通过网络请求,通过修改本地数据来修改播放列表。
|
|
|
|
|
|
```
|
|
```
|
... | @@ -1947,12 +1927,12 @@ self.DWAccount_apikey = @"********************************"; |
... | @@ -1947,12 +1927,12 @@ self.DWAccount_apikey = @"********************************"; |
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
|
|
### 5.3 上传功能的使用
|
|
### 4.3 上传功能的使用
|
|
demo中提供的默认账号并无上传功能,若需体验SDK中的上传功能,请在选择完视频之后,填写账号下的userId,以及APIKey等信息,才能使用demo中的上传功能。
|
|
demo中提供的默认账号并无上传功能,若需体验SDK中的上传功能,请在选择完视频之后,填写账号下的userId,以及APIKey等信息,才能使用demo中的上传功能。
|
|
|
|
|
|
## 6.调试与反馈
|
|
## 5.调试与反馈
|
|
|
|
|
|
### 6.1 SDK错误码
|
|
### 5.1 SDK错误码
|
|
以下是错误码的详细说明:
|
|
以下是错误码的详细说明:
|
|
|
|
|
|
枚举|code|详细描述
|
|
枚举|code|详细描述
|
... | @@ -2003,7 +1983,7 @@ ERROR_UPLOAD_RECEIVE|4301|获取上传服务器失败 |
... | @@ -2003,7 +1983,7 @@ ERROR_UPLOAD_RECEIVE|4301|获取上传服务器失败 |
|
ERROR_UPLOAD_FILEDAMAGED|4302|上传文件已损坏
|
|
ERROR_UPLOAD_FILEDAMAGED|4302|上传文件已损坏
|
|
ERROR_UPLOAD_UNRECEIVESERVERANSWER|4400|获取服务器回调失败
|
|
ERROR_UPLOAD_UNRECEIVESERVERANSWER|4400|获取服务器回调失败
|
|
|
|
|
|
### 6.2 通信日志的使用
|
|
### 5.2 通信日志的使用
|
|
SDK提供了DWLog模块用来打印HTTP通信日志,可以在App的任意位置开启或关闭打印HTTP通信日志等功能。下面是DWLog的使用方法:
|
|
SDK提供了DWLog模块用来打印HTTP通信日志,可以在App的任意位置开启或关闭打印HTTP通信日志等功能。下面是DWLog的使用方法:
|
|
```
|
|
```
|
|
// 开启 打印HTTP通信日志 功能
|
|
// 开启 打印HTTP通信日志 功能
|
... | | ... | |