... | ... | @@ -14,6 +14,480 @@ PS. 关于Xcode12最低版本支持 iOS 9.0 ,如何联调 iOS 8.0 设备? |
|
|
|
|
|
[TOC]
|
|
|
|
|
|
## 4.11.0
|
|
|
|
|
|
发布日期:2023.07.05
|
|
|
|
|
|
1.直播新增VR直播功能
|
|
|
2.在线回放新增VR回放功能
|
|
|
|
|
|
|
|
|
|
|
|
Pod 接入方式
|
|
|
|
|
|
```shell
|
|
|
# 基础SDK
|
|
|
pod 'CCLivePlaySDK', '4.11.0'
|
|
|
pod 'HDVideoClass_BSDK', '6.25.0'
|
|
|
pod 'AgoraRtcEngine_iOS', '3.7.2'
|
|
|
pod 'HDSAliyunPlayer'
|
|
|
pod 'HDStreamLib'
|
|
|
pod 'HDSCocoaLumberjack'
|
|
|
pod 'HDSSZip'
|
|
|
pod 'HDSVRMediaFramework' //新增
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
PS:VR功能接入请看《VR功能接入文档》
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播新增API:
|
|
|
|
|
|
房间配置项
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ---------------------- | ---------- |
|
|
|
| (void)onRoomConfigure: | 房间配置项 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.11.0 new 房间配置项
|
|
|
/// @param configure 配置信息
|
|
|
/// PS: 问答支持发送图片开关、VR开关、自定义表情开关、房间图标
|
|
|
- (void)onRoomConfigure:(HDSRoomConfigureModel * _Nonnull)configure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播废弃API:
|
|
|
|
|
|
~~房间图标~~
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ------------------- | ------------ |
|
|
|
| ~~(void)roomIcon:~~ | ~~房间图标~~ |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.8.0 new
|
|
|
/// 房间图标
|
|
|
/// @param iconUrl 图标地址
|
|
|
- (void)roomIcon:(NSString *)iconUrl DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,请使用 - (void)onRoomConfigure:(HDSRoomConfigureModel *_Nonnull)configure");
|
|
|
```
|
|
|
|
|
|
~~问答支持图片开关权限~~
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ---------------------------------- | ------------------------ |
|
|
|
| ~~(void)onQuestionPictureSwitch:~~ | ~~问答支持图片开关权限~~ |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.9.0 new
|
|
|
/// 问答支持图片开关权限
|
|
|
/// @param QPSwitch 开关
|
|
|
- (void)onQuestionPictureSwitch:(NSInteger)QPSwitch DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,请使用 - (void)onRoomConfigure:(HDSRoomConfigureModel *_Nonnull)configure");
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 在线回放新增API:
|
|
|
|
|
|
房间配置项
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ---------------------- | ---------- |
|
|
|
| (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.10.0
|
|
|
|
|
|
发布日期:2023.06.26
|
|
|
|
|
|
新增:
|
|
|
1.SDK支持免登录、主次验证和白名单验证登录方式
|
|
|
|
|
|
修复:
|
|
|
|
|
|
1.iPhone14系列设备连麦无声音的问题
|
|
|
2.问卷提交失败的问题
|
|
|
|
|
|
|
|
|
|
|
|
#### PlayParameter 新增参数
|
|
|
|
|
|
##### 主次验证标识(直播、在线回放可选择使用)
|
|
|
|
|
|
| 参数名 | 类型 | 说明 |
|
|
|
| --------------- | ------ | ---------------------------------------------------------- |
|
|
|
| secondaryVerify | String | 主次验证标识 "1":次验证 "0":默认主验证 (非必需 可为空) |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
// 4.10.0 new
|
|
|
// 主次验证标识 "1":次验证 "0":默认主验证 (非必需 可为空)
|
|
|
@property (nonatomic, copy) NSString *secondaryVerify;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播新增API
|
|
|
|
|
|
##### 仅登陆失败(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ----------------------------- | ---------- |
|
|
|
| (void)onLoginFailed: message: | 仅登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new 登陆失败错误回调(仅登陆方法响应代理)
|
|
|
/// @param code code值
|
|
|
/// @param message 错误信息
|
|
|
- (void)onLoginFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 初始化房间登陆成功(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| -------------------------- | ------------------ |
|
|
|
| (void)onRequestLoginSucced | 初始化房间登陆成功 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new
|
|
|
/// 请求登陆成功
|
|
|
- (void)onRequestLoginSucced;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 初始化房间登陆失败(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ----------------------------------- | ------------------ |
|
|
|
| (void)onRequstLoginFailed: message: | 初始化房间登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new
|
|
|
/// 请求登陆失败
|
|
|
/// @param code code值
|
|
|
/// @param message 错误信息
|
|
|
- (void)onRequstLoginFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播废弃API
|
|
|
|
|
|
##### ~~仅登录失败 (代理方法)~~
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| --------------------------------- | ---------- |
|
|
|
| ~~(void)onLoginFailed: message:~~ | 仅登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/**
|
|
|
* @brief 登录失败 (该方法已废弃,建议使用 - (void)onLoginPlaybackFailed:(NSUInteger)code message:(NSString *_Nullable)message;)
|
|
|
*/
|
|
|
- (void)loginFailed:(NSError *)error reason:(NSString *)reason DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,建议使用 - (void)onLoginPlaybackFailed:(NSInteger)code message:(NSString *)message;");
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播更新注释
|
|
|
|
|
|
##### 仅登陆(主动方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| --------------------------- | -------- |
|
|
|
| (id)initLoginWithParameter: | 登录房间 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/**
|
|
|
* @brief 登录房间
|
|
|
* @param parameter 配置参数信息
|
|
|
* 必填参数 userId; //用户ID
|
|
|
* 必填参数 roomId; //房间ID
|
|
|
* 必填参数 viewerName; //用户名称
|
|
|
* 必填参数 token; //房间密码
|
|
|
* (选填参数) viewercustomua; //用户自定义参数,需和后台协商,没有定制传@""
|
|
|
*
|
|
|
* new ==> // Succed Delegate
|
|
|
* new ==> - (void)loginSucceedPlay;
|
|
|
*
|
|
|
* new ==> // Failed Delegate
|
|
|
* new ==> - (void)onLoginFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
|
*/
|
|
|
- (id)initLoginWithParameter:(PlayParameter *)parameter;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 登陆并初始化SDK
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ------------------------------------------------- | --------- |
|
|
|
| (id)initSDKWithParameter: succed: player: failed: | 初始化SDK |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 初始化SDK
|
|
|
/// @param parameter 参数
|
|
|
/// @param succed 初始化成功回调
|
|
|
/// @param player 播放视图回调 (流视图异步回调,存在回调多次;无延迟直播无需关注。)
|
|
|
/// @param failed 初始化失败回调
|
|
|
///
|
|
|
/// new ==> // Succed Delegate
|
|
|
/// new ==> - (void)onRequestLoginSucced;
|
|
|
///
|
|
|
/// new ==> // Failed Delegate
|
|
|
/// new ==> - (void)onRequstLoginFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
///
|
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
|
succed:(initSuccedClosure)succed
|
|
|
player:(HDSPlayerViewClosure)player
|
|
|
failed:(initFailedClosure)failed;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 回放新增API
|
|
|
|
|
|
##### 仅登陆失败(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ------------------------------------- | ---------- |
|
|
|
| (void)onLoginPlaybackFailed: message: | 仅登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new 登陆失败错误回调(仅登陆方法响应代理)
|
|
|
/// @param code code值
|
|
|
/// @param message 错误信息
|
|
|
- (void)onLoginPlaybackFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 初始化房间登陆成功(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ---------------------------------- | ------------------ |
|
|
|
| (void)onRequestLoginPlaybackSucced | 初始化房间登陆成功 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new
|
|
|
/// 请求登陆成功
|
|
|
- (void)onRequestLoginPlaybackSucced;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 初始化房间登陆失败(代理方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ------------------------------------------- | ------------------ |
|
|
|
| (void)onRequstLoginPlaybackFailed: message: | 初始化房间登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 4.10.0 new
|
|
|
/// 请求登陆失败
|
|
|
/// @param code code值
|
|
|
/// @param message 错误信息
|
|
|
- (void)onRequstLoginPlaybackFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 回放废弃API
|
|
|
|
|
|
##### ~~仅登录失败 (代理方法)~~
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| --------------------------------- | ---------- |
|
|
|
| ~~(void)onLoginFailed: message:~~ | 仅登陆失败 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/**
|
|
|
* @brief 登录失败 (该方法已废弃,建议使用 - (void)onLoginPlaybackFailed:(NSUInteger)code message:(NSString *_Nullable)message;)
|
|
|
*/
|
|
|
- (void)loginFailed:(NSError *)error reason:(NSString *)reason DEPRECATED_MSG_ATTRIBUTE("该方法已废弃,建议使用 - (void)onLoginPlaybackFailed:(NSInteger)code message:(NSString *)message;");
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 回放更新注释
|
|
|
|
|
|
##### 仅登陆(主动方法)
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| --------------------------- | -------- |
|
|
|
| (id)initLoginWithParameter: | 登录房间 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/**
|
|
|
* @brief 登录房间
|
|
|
* @param parameter 配置参数信息
|
|
|
* 必填参数 userId
|
|
|
* 必填参数 roomId
|
|
|
* 必填参数 viewerName
|
|
|
* 必填参数 token
|
|
|
* 非必填参数 security
|
|
|
*
|
|
|
* new ==> // Succed Delegate
|
|
|
* new ==> - (void)loginSucceedPlayback;
|
|
|
*
|
|
|
* new ==> // Failed Delegate
|
|
|
* new ==> - (void)onLoginPlaybackFailed:(NSUInteger)code message:(NSString *_Nullable)message;
|
|
|
*/
|
|
|
- (id)initLoginWithParameter:(PlayParameter *)parameter;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### 登陆并初始化SDK
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
| ------------------------------------------------- | --------- |
|
|
|
| (id)initSDKWithParameter: succed: player: failed: | 初始化SDK |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 初始化SDK
|
|
|
/// @param parameter 参数
|
|
|
/// @param succed 初始化成功回调
|
|
|
/// @param player 播放视图回调
|
|
|
/// @param failed 初始化失败回调
|
|
|
///
|
|
|
/// new ==> // Succed Delegate
|
|
|
/// new ==> - (void)onRequestLoginPlaybackSucced;
|
|
|
///
|
|
|
/// new ==> // Failed Delegate
|
|
|
/// new ==> - (void)onRequstLoginPlaybackFailed:(NSUInteger)code message:(NSString * _Nullable)message;
|
|
|
///
|
|
|
- (id)initSDKWithParameter:(PlayParameter *)parameter
|
|
|
succed:(initSuccedClosure)succed
|
|
|
player:(HDSPlayerViewClosure)player
|
|
|
failed:(initFailedClosure)failed;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 直播、在线回放登陆错误 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,直接展示 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 4.9.1
|
|
|
|
|
|
发布日期:2023.05.17
|
... | ... | |