... | ... | @@ -17,7 +17,7 @@ |
|
|
| 功能 | 描述 |
|
|
|
| -------- | ---------------------------------------- |
|
|
|
| 直播视频 | 观看直播视频 |
|
|
|
| 文档展示 | 能够观看当前直播文档,文档添加水印 |
|
|
|
| 文档展示 | 能够观看当前直播文档,文档添加水印 |
|
|
|
| 线路更换 | 观看卡顿请换个线路 |
|
|
|
| 清晰度 | 支持直播多清晰度切换播放 |
|
|
|
| 答题卡 | 支持实时检测课堂学生的掌握程度 |
|
... | ... | @@ -30,8 +30,8 @@ |
|
|
| 抽奖 | 支持抽奖功能 |
|
|
|
| 随堂测 | 支持随堂测互动 |
|
|
|
| 修改昵称 | 支持自定义昵称 |
|
|
|
| 聊天互动 | 支持与房间内的其他人聊天互动和一对一私聊 |
|
|
|
| 跑马灯 | 支持直播防录屏功能 |
|
|
|
| 聊天互动 | 支持与房间内的其他人聊天互动和一对一私聊 |
|
|
|
| 跑马灯 | 支持直播防录屏功能 |
|
|
|
|
|
|
|
|
|
# 2.开发准备
|
... | ... | @@ -214,6 +214,7 @@ PS:其中3.8.0与3.11.2为SDK版本号可自行更改。 |
|
|
解决方案:
|
|
|
Targets -> Build Settings -> 搜索 "Enable Bitcode" 设置为 "NO"
|
|
|
```
|
|
|
|
|
|
2.command + r 运行
|
|
|
|
|
|
```
|
... | ... | @@ -230,27 +231,43 @@ Destination 选择 "Frameworks" -> |
|
|
|
|
|
|
|
|
|
|
|
## 2.3 日志存储
|
|
|
## 2.3 日志存储 *( 3.17.7 升级须知,必须添加该方法)
|
|
|
|
|
|
|
|
|
|
|
|
#### <font color = red>注:日志收集功能为 **必选项** ,本地接入需要使用最新的 CCBundle 资源文件</font>
|
|
|
|
|
|
| 新增依赖库 | Cocoapods 接入 | 本地接入 | 签名选择 |
|
|
|
| ------------------------------------ | ------------------------ | --------------------------------------------------- | ------------ |
|
|
|
| CCFuncTool.framework (动态库) | pod 'HDSCCFuncTool' | 下载zip包中 CCFuncTool 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
| SSZipArchive.framework (动态库) | pod 'HDSSZip' | 下载zip包中 CCFuncTool 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
| CocoaLumberjack.framework (动态库) | pod 'HDSCocoaLumberjack' | 下载zip包中 HDSCocoaLumberjack 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
|
|
|
|
|
|
|
|
|
在AppDelegate.m文件导入头文件
|
|
|
|
|
|
```
|
|
|
#import "CCSDK/SaveLogUtil.h"
|
|
|
#import "CCSDK/HDSPreserve.h"
|
|
|
```
|
|
|
|
|
|
在启动方法中添加日志存储
|
|
|
|
|
|
```objective-c
|
|
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
|
|
/**
|
|
|
* @brief 是否存储日志
|
|
|
*/
|
|
|
[[SaveLogUtil sharedInstance]isNeedToSaveLog:YES];
|
|
|
// 日志收集
|
|
|
[[HDSPreserve shared] HDSApplicationDidFinishLaunching];
|
|
|
return YES;
|
|
|
}
|
|
|
|
|
|
- (void)applicationWillTerminate:(UIApplication *)application {
|
|
|
// 日志收集
|
|
|
[[HDSPreserve shared] HDSApplicationWillTerminate];
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## 2.4 错误码
|
|
|
|
|
|
服务错误类型
|
|
|
|
|
|
```
|
... | ... | @@ -260,6 +277,7 @@ Destination 选择 "Frameworks" -> |
|
|
ERROR_USELESS_INFO = 1002 没有获取到有用的视频信息
|
|
|
ERROR_PASSWORD = 1003 密码错误
|
|
|
```
|
|
|
|
|
|
系统错误类型
|
|
|
|
|
|
```
|
... | ... | @@ -641,6 +659,7 @@ typedef NS_ENUM(NSUInteger, HDUSER_REMIND) { |
|
|
/** 发送内容后缀 */
|
|
|
@property (nonatomic, copy) NSString *suffixContent;
|
|
|
```
|
|
|
|
|
|
新增 BanChatModel 类(用户禁言群发消息通知模型类)
|
|
|
|
|
|
```objc
|
... | ... | @@ -1067,7 +1086,7 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
|
|
/**
|
|
|
* @brief 双击ppt
|
|
|
*/
|
|
|
- (void)doubleCllickPPTView;
|
|
|
- (void)doubleCllickPPTView DEPRECATED_MSG_ATTRIBUTE("该方法已废弃");
|
|
|
|
|
|
/**
|
|
|
* @brief 获取所有文档列表
|
... | ... | @@ -1367,6 +1386,56 @@ typedef void (^pullStreamFailedClosure)(HDSMediaCallError error); // 拉远端 |
|
|
|
|
|
|
|
|
|
|
|
### 推流质量回调(单人连麦)(代理方法)
|
|
|
|
|
|
| 方法 | 注释 |
|
|
|
| -------------------------- | ------------------------- |
|
|
|
| (void)onPushStreamQuality: | 推流质量回调 (单人连麦) |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 推流质量回调 (单人连麦)
|
|
|
/// @param quality 流质量
|
|
|
- (void)onPushStreamQuality:(HDSStreamQuality)quality;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 拉流质量回调(单人连麦)(代理方法)
|
|
|
|
|
|
| 方法 | 注释 |
|
|
|
| ----------------------------------- | ------------------------- |
|
|
|
| (void)onPullStreamQuality: quality: | 拉流质量回调 (单人连麦) |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 拉流质量回调 (单人连麦)
|
|
|
/// @param quality 流质量
|
|
|
- (void)onPullStreamQuality:(NSString *)streamID quality:(HDSStreamQuality)quality;
|
|
|
```
|
|
|
|
|
|
#### HDSStreamQuality
|
|
|
|
|
|
```objc
|
|
|
/// 网络质量 -1为空值
|
|
|
typedef struct {
|
|
|
int rtt; //本机到服务器的往返时延(ms)
|
|
|
int pktLostRate; //发送丢包(0~100)
|
|
|
int quality; //本机上行网络质量(0~3),分别对应优、良、中、差
|
|
|
int rxQuality; //本机下行网络质量(0~3),分别对应优、良、中、差
|
|
|
double akbps; //音频码率(kb/s)
|
|
|
double afps; //音频帧率(网络接收)
|
|
|
double vkbps; //视频码率(kbps)
|
|
|
double vfps; //视频帧率(网络接收)
|
|
|
} HDSStreamQuality;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 房间连麦信息
|
|
|
|
|
|
|
... | ... | @@ -1840,6 +1909,10 @@ typedef NS_ENUM(NSInteger, HDSRoomCallType) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 3.8 切换线路和清晰度
|
|
|
|
|
|
代理方法(可选)
|
... | ... | @@ -2509,6 +2582,71 @@ typedef NS_ENUM(NSUInteger, HDSMediaLoadState) { |
|
|
- (void)commitLottery:(NSArray *)collectInfos lotteryId:(NSString *)lotteryId completion:(void (^)(BOOL success))completion;
|
|
|
```
|
|
|
|
|
|
## 3.23 互动功能
|
|
|
|
|
|
### 互动组件功能配置(代理方法)
|
|
|
|
|
|
| 方法 | 注释 |
|
|
|
| ---------------------------------- | ---------------- |
|
|
|
| (void)onInteractionFunctionConfig: | 互动组件功能配置 |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 互动功能配置
|
|
|
/// @param configModel 配置信息
|
|
|
- (void)onInteractionFunctionConfig:(HDSInteractionFunctionModel *)configModel;
|
|
|
```
|
|
|
|
|
|
#### HDSInteractionFunctionModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| --------- | ----------------------- | ------------ | --------------------- |
|
|
|
| likeModel | HDSInteractionLikeModel | 点赞配置 | CCSDK/PlayParameter.h |
|
|
|
| giftModel | HDSInteractionGiftModel | 打赏礼物配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
##### HDSInteractionLikeModel
|
|
|
|
|
|
| 参数 | 注释 | 所在类文件 |
|
|
|
| ------------------ | ------------------------------------------- | --------------------- |
|
|
|
| likeFunctionConfig | 点赞功能配置 0:关闭 1:直播间配置 2:全局配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
|
|
|
|
|
|
##### HDSInteractionFunctionModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| --------- | ----------------------- | ------------ | --------------------- |
|
|
|
| giftModel | HDSInteractionGiftModel | 打赏礼物配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
###### HDSInteractionGiftModel
|
|
|
|
|
|
| 参数 | 注释 | 所在类文件 |
|
|
|
| ------------------ | ----------------------------------------------- | --------------------- |
|
|
|
| giftFunctionConfig | 打赏礼物功能配置 0:关闭 1:直播间配置 2:全局配置 | CCSDK/PlayParameter.h |
|
|
|
| specialEffects | 打赏礼物特效配置 0:关闭 1:左侧特效 2:全局特效 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 获取互动组件Token(主动方法)
|
|
|
|
|
|
| 方法 | 注释 |
|
|
|
| --------------------------------------------------- | ----------------- |
|
|
|
| (void)getInteractionTokenWithClosure: tokenClosure: | 获取互动组件Token |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取互动组件 token
|
|
|
/// @param closure 操作回调 (result 操作状态, message 信息)
|
|
|
/// @param tokenClosure token回调 " result == YES 时返回token, result == NO 时返回 @""(空字符串) "
|
|
|
- (void)getInteractionTokenWithClosure:(completeHandler)closure tokenClosure:(interactionTokenClosure)tokenClosure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 4.常见问题
|
... | ... | @@ -2655,4 +2793,3 @@ error: Bundle only contains bitcode-marker /var/folders/s5/lnk362pd4cs0lmtn_43pp |
|
|
```
|
|
|
|
|
|
PS:直播、在线回放只有上述api会在子线程回调,其余的api均在主线程进行回调。 |
|
|
|