您可以选择使用 CocoaPods 自动加载的方式,或者先下载 SDK,再将其导入到您当前的工程项目中
CocoaPods
pod 'HTEffect'
pod install
手动集成
#import <HTEffect/HTEffectInterface.h>
#import "HTUIManager.h"
初始化
/**
* 在线鉴权初始化方法
*/
[[HTEffect shareInstance] initHTEffect:@"YOUR_APPID" withDelegate:self];
/**
* 离线鉴权初始化方法
*/
// [[HTEffect shareInstance] initHTEffect:@"YOUR_LICENSE"];
[[HTUIManager shareManager] loadToWindowDelegate:self];
[self.view addSubview:[HTUIManager shareManager].defaultButton];
渲染
/**
* 视频帧
*/
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
unsigned char *buffer = (unsigned char *) CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0);
if (!_isRenderInit) {
[[HTEffect shareInstance] releaseBufferRenderer];
_isRenderInit = [[HTEffect shareInstance] initBufferRenderer:format width:width height:height rotation:rotation isMirror:isMirror maxFaces:maxFaces];
}
[[HTEffect shareInstance] processBuffer:buffer];
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
/**
* 纹理
*/
// if (!_isRenderInit) {
// [[HTEffect shareInstance] releaseTextureRenderer];
// _isRenderInit = [[HTEffect shareInstance] initTextureRenderer:width height:height rotation:rotation isMirror:isMirror maxFaces:maxFaces];
// }
// [[HTEffect shareInstance] processTexture:textureId];
/**
* byte[]
*/
if (!_isRenderInit) {
[[HTEffect shareInstance] releaseImageRenderer];
_isRenderInit = [[HTEffect shareInstance] initImageRenderer:format width:width height:height rotation:rotation isMirror:isMirror maxFaces:maxFaces];
}
[[HTEffect shareInstance] processImage:pixels];
/**
* UIImage
*/
// UIImage *resultImage = [[HTEffect shareInstance] processUIImage:image];
销毁
// 销毁视频帧渲染资源
/**
* texture
*/
[[HTEffect shareInstance] releaseTextureRenderer];
/**
* buffer
*/
// [[HTEffect shareInstance] releaseBufferRenderer];
// 销毁图片渲染资源
/**
* byte[]
*/
// [[HTEffect shareInstance] releaseImageRenderer];
/**
* UIImage
*/
// [[HTEffect shareInstance] releaseUIImageRenderer];
dependencies {
implementation files('libs/HTEffect.aar')
}
include(":htui")
implementation project(':htui')
初始化
// 在线鉴权初始化方法
HTEffect.shareInstance().initHTEffect(context, "YOUR_APPID", new InitCallback() {
@Override public void onInitSuccess() {}
@Override public void onInitFailure() {}
});
// 离线鉴权初始化方法
//HTEffect.shareInstance().initHTEffect(context,"YOUR_LICENSE");
添加 HTUI (可选)
public class CameraActivity extends FragmentActivity {
//...
}
addContentView(
new HTPanelLayout(this).init(getSupportFragmentManager()),
new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT)
);
渲染
/**
* GL_TEXTURE_EXTERNAL_OES 纹理格式
*/
if (!isRenderInit) {
isRenderInit = HTEffect.shareInstance().initTextureOESRenderer(width, height, rotation, isMirror, maxFaces);
}
int textureId = HTEffect.shareInstance().processTextureOES(textureOES);
/**
* GL_TEXTURE_2D 纹理格式
*/
if (!isRenderInit) {
isRenderInit = HTEffect.shareInstance().initTextureRenderer(width, height, rotation, isMirror, maxFaces);
}
int textureId = HTEffect.shareInstance().processTexture(texture2D);
/**
* byte[] 视频帧
*/
if (!isRenderInit) {
isRenderInit = HTEffect.shareInstance().initBufferRenderer(format,width, height, rotation, isMirror, maxFaces);
}
HTEffect.shareInstance().processBuffer(buffer);
/**
* byte[] 图片类型
*/
if (!isRenderInit) {
isRenderInit = HTEffect.shareInstance().initImageRenderer(format,width, height,rotation,isMirror,maxFaces);
}
HTEffect.shareInstance().processImage(buffer);
/**
* Bitmap 图片类型
*/
Bitmap newBitmap = HTEffect.shareInstance().processBitmap(bitmap);
销毁
/**
* 使用其中一个
*/
HTEffect.shareInstance().releaseTextureOESRenderer();
HTEffect.shareInstance().releaseTextureRenderer();
HTEffect.shareInstance().releaseBufferRenderer();
/*
* 将 bool 置为 false
*/
isRenderInit = false;
/**
* 销毁图片渲染资源,图片为byte[]类型
*/
HTEffect.shareInstance().releaseImageRenderer();
/**
* 销毁图片渲染资源,图片为Bitmap类型
*/
HTEffect.shareInstance().releaseBitmapRenderer();
2024.04.23: v3.3.0
2024.03.28: v3.3.0-beta
2024.02.06: v3.2.1
2024.01.29: v3.2.0
2023.12.28: v3.1.0
2023.11.30: v3.0.2
2023.11.23: v3.0.1
2023.11.20: v3.0.0
2023.09.27: v3.0.0-beta
2023.07.18: v2.2.0
2023.06.09: v2.1.0
2023.06.07: v2.0.2
2023.06.01: v2.0.1
2023.05.17: 全新2.0版本
虹图AI开放平台是基于虹图自研的AI能力,打造的围绕音视频等应用场景的AI技术开放平台。提供人像人体特效、人体行为分析、内容审核、人脸实名认证、图像特效等视觉AI技术,加速AI为中小企业业务赋能。自成立至2022年底,虹图已经累计赋能直播、社交、教育、游戏电竞、IoT、XR、元宇宙等10余个行业赛道,服务平台近1500家,终端使用数量超过1.2亿台。
虹图探索了AI结合场景和生态的方法,围绕“AI产品+场景+生态合作“的方案模式,以音视频应用为切入场景,打造服务音视频应用全生命周期的AI产品矩阵,加以组合生态合作伙伴产品,实现平台的“开放”意义,为用户的业务需求提供整体解决方案,与用户实现价值共生。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。