本文介绍了与 SDK 工具相关的 API。
获取版本号
+ (NSString*)getVersion;
请求参数
无
返回值
类型 | 说明 |
NSString | 版本号 |
代码示例
NSString *version = [MPIDRSSDK getVersion];
上报结果
结果上报接口有两种使用场景,分别为:
初始化 MPIDRSSDK,录制音视频,录制完成后上报结果。
如果因网络故障上报结果失败,可以将带上报的结果信息先保存在本地,待网络故障修复后,不初始化 MPIDRSSDK,直接调用上报结果接口上报结果。在该场景中必须传入 feedid 参数。
- (void)uploadFileWithParam:(IDRSUploadManagerParam*)uploadBody
success:(void (^)(id responseObject))success
failure:(void (^)(NSError *error, IDRSUploadManagerParam *upLoadParam))failure;
请求参数
参数 | 类型 | 说明 | 是否必须 |
uploadBody | IDRSUploadManagerParam | 上传的参数,更多信息请参见下方IDRSUploadManagerParam 的参数说明 | 是 |
IDRSUploadManagerParam 的说明如下表。
参数 | 类型 | 说明 | 是否必须 |
files | NSArray <IDRSUploadFile*> | 文件数组 | 否 |
appId | NSString | 应用 ID | 是 |
ak | NSString | AK,即 Access Key ID | 是 |
sk | NSString | SK,即 Secret Access Key | 是 |
detectProcessId | NSString | 流程 ID | 否 |
roomId | NSString | 房间号 | 否 |
recordAt | NSDate | 开始录制时间 | 否 |
feedId | NSString | 统计标识 重要
| 否 |
duration | long | 录制长度,单位是秒(S) | 否 |
rtcRecordId | NSString | RTC 录制 ID | 否 |
outerBusinessId | NSString | 自定义业务参数 | 否 |
type | IDRSRecordType |
| 是 |
返回值
返回值 | 类型 | 说明 |
success | NSDictionary | 上报结果成功时回调 |
failure | error, IDRSUploadManagerParam | 上报结果失败时返回 IDRSUploadManagerParam,更多信息请参见请求参数中 IDRSUploadManagerParam 的说明。 |
代码示例
IDRSUploadManagerParam *param = [[IDRSUploadManagerParam alloc] init];
param.duration = self.duration;
param.appId = AppId;
param.ak = Ak;
param.sk = Sk;
param.type = IDRSRecordRemote;
param.recordAt = self.startTime;
param.roomId = self.roomId;
param.rtcRecordId = dictionary[@"recordId"];
param.outerBusinessId = [DemoSetting sharedInstance].outBusinessId;
IDRSUploadManager *update = [[IDRSUploadManager alloc] init];
[update uploadFileWithParam:param success:^(id _Nonnull responseObject) {
NSLog(@"remote :: 上报 %@",responseObject);
if ([[responseObject objectForKey:@"Code"] isEqualToString:@"OK"]) {
[self showToastWith:@"result文件上传成功" duration:2];
}
} failure:^(NSError * _Nonnull error, IDRSUploadManagerParam * _Nonnull upLoadParam) {
NSLog(@"remote :: 上报 %@",error);
if (upLoadParam) {
[self showToastWith:@"result文件上传失败" duration:3];
//储存上传信息、下次再次上传
}
}];
将从相机中获取的 sampleBuffer 保存到相册
- (void)saveSampleBufferFromCamera: (CMSampleBufferRef)sampleBuffer;
请求参数
参数 | 类型 | 说明 | 是否必须 |
sampleBuffer | CMSampleBufferRef | 相机流 | 是 |
返回值
无
代码示例
[self.idrs saveSampleBufferFromCamera:sampleBuffer];
将 RTC 视频流转成图片
- (UIImage *) getImageFromRPVideo: (CVImageBufferRef)imageBuffer;
请求参数
参数 | 类型 | 说明 | 是否必须 |
sampleBuffer | CVImageBufferRef | RTC 流数据 | 是 |
返回值
类型 | 说明 |
UIImage | 当前视频流的图片展示 |
代码示例
UIImage *image = [self.idrs getImageFromRPVideo:imageBuffer];
获取 resultJson
- (NSString *)resultGetMetaJson;
请求参数
无
返回值
类型 | 说明 |
NSString | resultJson |
代码示例
NSString *json = [self.idrs resultGetMetaJson];
SDK 销毁
- (void)releaseResources;
请求参数
无
返回值
无
代码示例
[self.idrs releaseResources];