|
[TOC]
|
|
# 云直播观看端SDK开发指南
|
|
|
|
|
|
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
# 1.概述
|
|
# 1.概述
|
|
|
|
|
... | @@ -53,13 +53,15 @@ |
... | @@ -53,13 +53,15 @@ |
|
**必须 ** 需在 Podfile 文件中添加以下代码(最新)
|
|
**必须 ** 需在 Podfile 文件中添加以下代码(最新)
|
|
|
|
|
|
```shell
|
|
```shell
|
|
pod 'CCLivePlaySDK', '4.9.0'
|
|
# 基础SDK
|
|
|
|
pod 'CCLivePlaySDK', '4.11.0'
|
|
pod 'HDVideoClass_BSDK', '6.25.0'
|
|
pod 'HDVideoClass_BSDK', '6.25.0'
|
|
pod 'HDSSZip'
|
|
|
|
pod 'HDSCocoaLumberjack', '4.9.0'
|
|
|
|
pod 'AgoraRtcEngine_iOS', '3.7.2'
|
|
pod 'AgoraRtcEngine_iOS', '3.7.2'
|
|
pod 'HDSAliyunPlayer', '4.9.0'
|
|
pod 'HDSAliyunPlayer'
|
|
pod 'HDStreamLib'
|
|
pod 'HDStreamLib'
|
|
|
|
pod 'HDSCocoaLumberjack'
|
|
|
|
pod 'HDSSZip'
|
|
|
|
pod 'HDSVRMediaFramework' // 小于 4.11.0 版本不用添加
|
|
```
|
|
```
|
|
|
|
|
|
**可选**(互动组件)
|
|
**可选**(互动组件)
|
... | @@ -373,6 +375,48 @@ Destination 选择 "Frameworks" -> |
... | @@ -373,6 +375,48 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播登陆错误 Code 码
|
|
|
|
|
|
|
|
| 错误码 | 描述 | 备注 |
|
|
|
|
| -------- | ---------------------------------------------------- | ------------------------------ |
|
|
|
|
| 10000000 | 请求参数不正确,请检查后重试。 | |
|
|
|
|
| 20270008 | 您的Token不存在,请重新登录。 | |
|
|
|
|
| 10000001 | 系统出现异常,请稍后再试。 | |
|
|
|
|
| 20200002 | 您的账户已过期,请联系客服处理。 | |
|
|
|
|
| 10000034 | 您还未登录,请先登录后再试。 | |
|
|
|
|
| 10000005 | 该回放不存在或已被删除,请检查后重试。 | |
|
|
|
|
| 10000007 | 该直播不存在或已被删除,请检查后重试。 | |
|
|
|
|
| 10000006 | 该直播间不存在或已被删除,请检查后重试。 | |
|
|
|
|
| 20290005 | 请求参数错误,请检查后重试。 | |
|
|
|
|
| 20270000 | api登录调用失败,请检查网络连接后重试。 | |
|
|
|
|
| 20270011 | api登录调用超时,请检查网络连接后重试。 | |
|
|
|
|
| 20270002 | 名称或密码错误,请检查后重试。 | |
|
|
|
|
| 20270001 | 请求参数错误,请检查后重试。 | |
|
|
|
|
| 20270003 | 登录失败,请联系管理员添加你至白名单 | |
|
|
|
|
| 20270004 | 该视频不属于当前账户,请联系客服。 | |
|
|
|
|
| 20270005 | 该视频不可用,请联系客服。 | |
|
|
|
|
| 20270006 | 获取播放地址失败,请检查网络连接后重试。 | |
|
|
|
|
| 20270010 | 获取打点信息失败,请联系客服。 | |
|
|
|
|
| 20270007 | 该播放地址不存在或已被删除,请联系客服。 | |
|
|
|
|
| 20290009 | 不合法的产品线,请联系客服。 | |
|
|
|
|
| 20270012 | 手机号验证失败,请检查输入后重试。 | |
|
|
|
|
| 20270013 | 登记观看失败,请联系客服。 | |
|
|
|
|
| 20270014 | 手机号验证失败,请检查输入后重试。 | |
|
|
|
|
| 20270015 | 发送短信失败,请稍后再试。 | |
|
|
|
|
| 20270016 | 该直播间未开启直播转回放功能,请联系客服。 | |
|
|
|
|
| 20270017 | 回放直播间与登录直播间不符,请联系客服。 | |
|
|
|
|
| 20270018 | 批量获取视频信息失败,请联系客服。 | |
|
|
|
|
| 20270019 | 视频信息错误,请联系客服。 | |
|
|
|
|
| 20270020 | 该极速回放视频没有内容,请联系客服。 | |
|
|
|
|
| 20290015 | 企微绑定已失效,请重新绑定。 | |
|
|
|
|
| 20290016 | 非法的企微绑定关系,请重新绑定。 | |
|
|
|
|
| 20290017 | 该企微用户未在当前直播间下被授权,请联系管理员授权。 | |
|
|
|
|
| 20290001 | - | 接口验证返回 message,直接展示 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 2.5 打包上线报错
|
|
## 2.5 打包上线报错
|
|
|
|
|
|
打包上线过程出现以下错误,关于不支持 x86_64 和 i386 等情况.
|
|
打包上线过程出现以下错误,关于不支持 x86_64 和 i386 等情况.
|
... | @@ -436,13 +480,19 @@ done |
... | @@ -436,13 +480,19 @@ done |
|
|
|
|
|
```objc
|
|
```objc
|
|
/**
|
|
/**
|
|
* @brief 登录房间
|
|
* @brief 登录房间
|
|
* @param parameter 配置参数信息
|
|
* @param parameter 配置参数信息
|
|
* 必填参数 userId; //用户ID
|
|
* 必填参数 userId; //用户ID
|
|
* 必填参数 roomId; //房间ID
|
|
* 必填参数 roomId; //房间ID
|
|
* 必填参数 viewerName; //用户名
|
|
* 必填参数 viewerName; //用户名称
|
|
* 必填参数 token; //房间密码
|
|
* 必填参数 token; //房间密码
|
|
* (选填参数) viewercustomua; //用户自定义参数,需和后台协商,没有定制传@""
|
|
* (选填参数) viewercustomua; //用户自定义参数,需和后台协商,没有定制传@""
|
|
|
|
*
|
|
|
|
* new ==> // Succed Delegate
|
|
|
|
* new ==> - (void)loginSucceedPlay;
|
|
|
|
*
|
|
|
|
* new ==> // Failed Delegate
|
|
|
|
* new ==> - (void)onLoginFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
*/
|
|
*/
|
|
- (id)initLoginWithParameter:(PlayParameter *)parameter;
|
|
- (id)initLoginWithParameter:(PlayParameter *)parameter;
|
|
|
|
|
... | @@ -452,6 +502,13 @@ done |
... | @@ -452,6 +502,13 @@ done |
|
/// @param succed 初始化成功回调
|
|
/// @param succed 初始化成功回调
|
|
/// @param player 播放视图回调 (流视图异步回调,存在回调多次;无延迟直播无需关注。)
|
|
/// @param player 播放视图回调 (流视图异步回调,存在回调多次;无延迟直播无需关注。)
|
|
/// @param failed 初始化失败回调
|
|
/// @param failed 初始化失败回调
|
|
|
|
///
|
|
|
|
/// new ==> // Succed Delegate
|
|
|
|
/// new ==> - (void)onRequestLoginSucced;
|
|
|
|
///
|
|
|
|
/// new ==> // Failed Delegate
|
|
|
|
/// new ==> - (void)onRequstLoginFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
|
///
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
succed:(initSuccedClosure)succed
|
|
succed:(initSuccedClosure)succed
|
|
player:(HDSPlayerViewClosure)player
|
|
player:(HDSPlayerViewClosure)player
|
... | @@ -510,6 +567,13 @@ done |
... | @@ -510,6 +567,13 @@ done |
|
/// @param succed 初始化成功回调
|
|
/// @param succed 初始化成功回调
|
|
/// @param player 播放视图回调 (流视图异步回调,存在回调多次;无延迟直播无需关注。)
|
|
/// @param player 播放视图回调 (流视图异步回调,存在回调多次;无延迟直播无需关注。)
|
|
/// @param failed 初始化失败回调
|
|
/// @param failed 初始化失败回调
|
|
|
|
///
|
|
|
|
/// new ==> // Succed Delegate
|
|
|
|
/// new ==> - (void)onRequestLoginSucced;
|
|
|
|
///
|
|
|
|
/// new ==> // Failed Delegate
|
|
|
|
/// new ==> - (void)onRequstLoginFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
|
///
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
succed:(initSuccedClosure)succed
|
|
succed:(initSuccedClosure)succed
|
|
player:(HDSPlayerViewClosure)player
|
|
player:(HDSPlayerViewClosure)player
|
... | @@ -545,27 +609,27 @@ _requestData = [[RequestData alloc] initSDKWithParameter:parameter succed:^(BOOL |
... | @@ -545,27 +609,27 @@ _requestData = [[RequestData alloc] initSDKWithParameter:parameter succed:^(BOOL |
|
代理方法
|
|
代理方法
|
|
|
|
|
|
```objc
|
|
```objc
|
|
|
|
// MARK: - 仅登陆 代理
|
|
/**
|
|
/**
|
|
* @brief 登录成功
|
|
* @brief 登录成功
|
|
*/
|
|
*/
|
|
- (void)loginSucceedPlay;
|
|
- (void)loginSucceedPlay;
|
|
/**
|
|
|
|
* @brief 登录失败
|
|
|
|
*/
|
|
|
|
-(void)loginFailed:(NSError *)error reason:(NSString *)reason;
|
|
|
|
|
|
|
|
/**
|
|
/// 4.10.0 new 登陆失败错误回调(仅登陆方法响应代理)
|
|
* @brief 请求成功
|
|
/// @param code code值
|
|
*/
|
|
/// @param message 错误信息
|
|
-(void)requestSucceed;
|
|
- (void)onLoginFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
/**
|
|
|
|
* @brief 登录请求失败
|
|
|
|
*/
|
|
|
|
-(void)requestFailed:(NSError *)error reason:(NSString *)reason;
|
|
|
|
|
|
|
|
/// 3.18.0 new 错误回调
|
|
// MARK: - 初始化SDK登陆 代理
|
|
/// @param model 错误信息
|
|
/// 4.10.0 new
|
|
- (void)onError:(HDSOnErrorModel *)model;
|
|
/// 请求登陆成功
|
|
|
|
- (void)onRequestLoginSucced;
|
|
|
|
|
|
|
|
/// 4.10.0 new
|
|
|
|
/// 请求登陆失败
|
|
|
|
/// @param code code值
|
|
|
|
/// @param message 错误信息
|
|
|
|
- (void)onRequstLoginFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
... | @@ -684,6 +748,10 @@ _requestData = [[RequestData alloc] initSDKWithParameter:parameter succed:^(BOOL |
... | @@ -684,6 +748,10 @@ _requestData = [[RequestData alloc] initSDKWithParameter:parameter succed:^(BOOL |
|
*/
|
|
*/
|
|
@property(assign, nonatomic)BOOL LotteryRepetition;
|
|
@property(assign, nonatomic)BOOL LotteryRepetition;
|
|
|
|
|
|
|
|
// 4.10.0 new
|
|
|
|
// 主次验证标识 "1":次验证 "0":默认主验证 (非必需 可为空)
|
|
|
|
@property (nonatomic, copy) NSString *secondaryVerify;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 视频播放状态
|
|
* 视频播放状态
|
|
* HDSMediaPlaybackStateStopped 播放停止
|
|
* HDSMediaPlaybackStateStopped 播放停止
|
... | @@ -1588,9 +1656,13 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
... | @@ -1588,9 +1656,13 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
|
|
|
|
|
##### 问答支持发送图片权限开关(代理方法)
|
|
##### 问答支持发送图片权限开关(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
|
| ------------------------------ | -------------------- |
|
|
|
|
| (void)onQuestionPictureSwitch: | 问答支持图片开关权限 |
|
|
~~问答支持图片开关权限~~
|
|
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
|
| ---------------------------------- | ------------------------ |
|
|
|
|
| ~~(void)onQuestionPictureSwitch:~~ | ~~问答支持图片开关权限~~ |
|
|
|
|
|
|
示例代码
|
|
示例代码
|
|
|
|
|
... | @@ -1598,7 +1670,7 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
... | @@ -1598,7 +1670,7 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
|
/// 4.9.0 new
|
|
/// 4.9.0 new
|
|
/// 问答支持图片开关权限
|
|
/// 问答支持图片开关权限
|
|
/// @param QPSwitch 开关
|
|
/// @param QPSwitch 开关
|
|
- (void)onQuestionPictureSwitch:(NSInteger)QPSwitch;
|
|
- (void)onQuestionPictureSwitch:(NSInteger)QPSwitch DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,请使用 - (void)onRoomConfigure:(HDSRoomConfigureModel *_Nonnull)configure");
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
... | @@ -3563,9 +3635,11 @@ typedef NS_ENUM(NSUInteger, HDSMediaLoadState) { |
... | @@ -3563,9 +3635,11 @@ typedef NS_ENUM(NSUInteger, HDSMediaLoadState) { |
|
|
|
|
|
### 房间图标(代理方法)
|
|
### 房间图标(代理方法)
|
|
|
|
|
|
| 方法 | 说明 | 所在类 |
|
|
~~房间图标~~
|
|
| --------------- | -------- | ------------------- |
|
|
|
|
| (void)roomIcon: | 房间图标 | CCSDK/RequestData.h |
|
|
| 方法 | 说明 |
|
|
|
|
| ------------------- | ------------ |
|
|
|
|
| ~~(void)roomIcon:~~ | ~~房间图标~~ |
|
|
|
|
|
|
示例代码
|
|
示例代码
|
|
|
|
|
... | @@ -3573,9 +3647,13 @@ typedef NS_ENUM(NSUInteger, HDSMediaLoadState) { |
... | @@ -3573,9 +3647,13 @@ typedef NS_ENUM(NSUInteger, HDSMediaLoadState) { |
|
/// 4.8.0 new
|
|
/// 4.8.0 new
|
|
/// 房间图标
|
|
/// 房间图标
|
|
/// @param iconUrl 图标地址
|
|
/// @param iconUrl 图标地址
|
|
- (void)roomIcon:(NSString *)iconUrl;
|
|
- (void)roomIcon:(NSString *)iconUrl DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,请使用 - (void)onRoomConfigure:(HDSRoomConfigureModel *_Nonnull)configure");
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 3.27 自定义表情
|
|
## 3.27 自定义表情
|
|
|
|
|
|
#### 聊天支持自定义表情 (支持版本 v3.22.0、v4.9.0+)
|
|
#### 聊天支持自定义表情 (支持版本 v3.22.0、v4.9.0+)
|
... | @@ -3739,6 +3817,54 @@ Example code: |
... | @@ -3739,6 +3817,54 @@ Example code: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 3.29 房间配置项
|
|
|
|
|
|
|
|
房间配置项
|
|
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
|
| ---------------------- | ---------- |
|
|
|
|
| (void)onRoomConfigure: | 房间配置项 |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 4.11.0 new 房间配置项
|
|
|
|
/// @param configure 配置信息
|
|
|
|
/// PS: 问答支持发送图片开关、VR开关、自定义表情开关、房间图标
|
|
|
|
- (void)onRoomConfigure:(HDSRoomConfigureModel * _Nonnull)configure;
|
|
|
|
```
|
|
|
|
|
|
|
|
#### PlayParameter 新增类
|
|
|
|
|
|
|
|
参数
|
|
|
|
|
|
|
|
| 参数 | 说明 |
|
|
|
|
| ----------------- | -------------------------------------------------------- |
|
|
|
|
| VRSwitch | VR开关 NO 关闭, YES 开启 |
|
|
|
|
| QPSwitch | 问答支持发送图片开关 NO 关闭, YES 开启 |
|
|
|
|
| customEmojiSwitch | 自定义表情开关 NO 关闭, YES 开启 |
|
|
|
|
| roomIcon | 房间图标 |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
@interface HDSRoomConfigureModel : NSObject
|
|
|
|
/// VR开关 NO 关闭, YES 开启
|
|
|
|
@property (nonatomic, assign) BOOL VRSwitch;
|
|
|
|
/// 问答支持发送图片开关 NO 关闭, YES 开启
|
|
|
|
@property (nonatomic, assign) BOOL QPSwitch;
|
|
|
|
/// 自定义表情开关 NO 关闭, YES 开启
|
|
|
|
@property (nonatomic, assign) BOOL customEmojiSwitch;
|
|
|
|
/// 房间图标
|
|
|
|
@property (nonatomic, copy) NSString * _Nullable roomIcon;
|
|
|
|
|
|
|
|
@end
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 4.常见问题
|
|
# 4.常见问题
|
|
|
|
|
|
## 4.1 旋转屏错误
|
|
## 4.1 旋转屏错误
|
... | | ... | |