API接口说明

1. IVManager类

提供接入授权处理,模型管理、下载、缓存和更新

1.1 初始化

public int initWithDevKey(Context context, String devKey, IVLoadImageCallback  callback)

参数说明

  • context:应用程序的上下文环境

  • devKey:开发密钥

  • callback:加载模型的回调函数

1.2 模型加载

public IVStatus loadIVModel(String modelName)

参数说明

  • modelName:模型名称

2. IVLoadImageCallback接口

  • 它提供模型加载的回调函数

  • 请在里面实现模型加载,通过IVManager 类调用loadIVModel方法

3. IVPlayerInstance类

  • 提供超分接口,同时提供给用户显示或者不显示图像的权限(您可以获取图像数据自己显示,不过速度没有我们帮您显示快)

  • 控制是否由我们帮您显示到GLSurfaceView上

void doRenderOnScreen(bool doRender);//true显示,false不显示,默认为true
  • 如果您需要在超分完成,或者显示完成之后获得提醒,(这是可选择的)请设置一个条件变量,当然您也可以让它为NULL。

void setDoNotifyCondVarPtr(std::condition_variable *doNotifyCondVarP);

下次使用,在您的代码中自己使用:

image.png

  • 超分图像,目前我们针对yuv420p的图像提供的接口如下

image.png

其中的y,u,v分别对应YUV420图像的三个通道数据,doingSuperResolution主要是服务于用户如果想在超分或者不超分切换时使用。

IvStatus中的statusCode值的定义与说明

状态命名状态值

描述

IVStatus_Success0

成功

IVStatus_UnknowError-1未定义错误
IVStatus_InternelError-2SDK内部执行错误(通常为内存问题)
IVStatus_InvalidData-10001HTTP请求,无效数据
IVStatus_InvalidParmeter-10002HTTP请求,无效参数
IVStatus_InvalidSignature-10003HTTP请求,无效签名
IVStatus_InvalidAppIDorDevKey-10004HTTP请求,无效AppID或DevKey
IVStatus_DatabaseConnectError-10005数据库连接错误
IVStatus_DatabaseOpenError

-10006

数据库打开错误
IVStatus_AppNotAuthorized-20000App还没有获取获取授权,请检查您的AppID以及DevKey
IVStatus_LoadModelError-20001加载模型错误
IVStatus_ModelNotFound-20002模型文件未找到
IVStatus_InvalidModelDefine-20003无效模型定义
IVStatus_InvalidReturnData-20004无效返回数据
IVStatus_CertificationNotFound-20005证书文件未找到
IVStatus_AndriodNotSupport-30001Android系统版本不支持
IVStatus_GPUNotSupport-30002设备GPU不支持
IVStatus_ServerConnectError-30003服务器连接错误
IVStatus_PleaseLoadModelFirst-40001请先加载模型
IVStatus_InternelNetWorkingError-40002内部网络执行错误

对于返回结果的statusCode您也可以使用IVStatus的public方法getCodeString()获取中文的错误原因。

关于混淆:
如果出现:

6.png

以及:

7.png

由于加入了okhttp 所以混淆的时候可能会出错,请在“proguard-rules.pro”文件中加入:

-dontwarn okio.**
-dontwarn javax.annotation.**

即可修改这两个错误。