You need to enable JavaScript to run this app.
导航

Android Sample

最近更新时间2022.02.25 17:16:51

首次发布时间2022.02.25 17:16:51

以下为4.0.0.0及以后版本Sample文件结构


.
├── base # ui,mvp 结构基础类
├── camera # camera 封装,包含 camera1、camera2
├── core # sdk 接口封装,含特效、算法
│   ├── v3 # 3.* 版本时 demo 所用特效接口封装,现已弃用
│   │   ├── BaseEffectHelper.java
│   │   ├── ImageEffectHelper.java
│   │   ├── PreviewEffectHelper.java
│   │   └── VideoEffectHelper.java
│   ├── v4 # 4.* 版本时 sdk 接口封装,含特效接口、算法接口
│   │   ├── EffectHelper.java # 算法、特效统一输出接口
│   │   ├── ResourceHelper.java # 算法、特效统一资源路径接口
│   │   ├── algorithm # 算法相关接口
│   │   │   ├── AlgorithmInterface.java
│   │   │   ├── AlgorithmManager.java # 算法对外输出接口,如果只需要使用算法,可直接使用此接口代替 EffectHelper.java 的功能
│   │   │   ├── AlgorithmRender.java
│   │   │   ├── AlgorithmResourceHelper.java # 算法资源路径接口,如果只需要使用算法,可直接使用此接口代替 ResourceHelper.java 功能,内含各算法的模型文件路径等。算法版在这里修改授权文件路径
│   │   │   ├── AlgorithmTask.java # 算法模块基类
│   │   │   └── task # 包含所有算法模块的实现,如果不需要可以在这里删去,但是其他地方如 AlgorithmManager.java 会含有对其的引用,也要同步在这些文件中删去相关引用代码
│   │   ├── base # sdk 接口基本类,算法、特效通用
│   │   │   ├── BufferConvert.java # buffer 转换实现
│   │   │   ├── ProcessInput.java # 输出数据类
│   │   │   ├── ProcessOutput.java # 输出数据类
│   │   │   ├── ResourceProvider.java
│   │   │   ├── Task.java
│   │   │   ├── TaskContainer.java
│   │   │   ├── task
│   │   │   └── util
│   │   └── effect # 特效相关接口
│   │       ├── EffectInterface.java
│   │       ├── EffectManager.java # 特效对外输出接口,如果只需要使用特效,可直接使用此接口代替 EffectHelper.java 的功能
│   │       ├── EffectRender.java
│   │       ├── EffectResourceHelper.java # 特效资源路径接口,如果只需要使用特效,可直接使用此接口代替 ResourceHelper.java 功能。特效版在这里修改授权文件路径
│   │       ├── TextureFormatter.java # 纹理类型转换实现
│   │       └── task # 特效模块实现
│   └── video # 视频录制相关实现
│       ├── EglCore.java
│       ├── EglSurfaceBase.java
│       ├── FullFrameRect.java
│       ├── MediaMuxerManager.java
│       ├── Texture2dProgram.java
│       ├── TextureMovieEncoder.java
│       ├── VideoEncoderCore.java
│       └── WindowSurface.java
├── media # 视频播放相关实现
│   └── SimplePlayer.java
├── model # ui 相关,model 类
│   ├── AlgorithmItem.java
│   ├── AlgorithmItemGroup.java
│   ├── ButtonItem.java
│   ├── CaptureResult.java
│   ├── ComposerNode.java
│   ├── DynamicActionAlgorithmItem.java
│   ├── EffectBackup.java
│   ├── EffectButtonItem.java
│   ├── ExternParam.java
│   ├── FaceVerifyResult.java
│   ├── FilterItem.java
│   └── StickerItem.java
├── opengl # ui 相关,openGL 工具类,用于算法中绘制算法结果等
│   ├── Drawable2d.java
│   ├── Extensions.java
│   ├── FrameBuffer.java
│   ├── GlUtil.java
│   ├── HairMaskProgram.java
│   ├── LineProgram.java
│   ├── MaskProgram.java
│   ├── PointProgram.java
│   ├── PortraitMaskProgram.java
│   ├── Program.java
│   ├── ProgramManager.java
│   ├── ProgramTexture2d.java
│   ├── ProgramTextureOES.java
│   ├── ShaderHelper.java
│   ├── ShaderProgram.java
│   └── TextureRotationUtil.java
├── posteffect
│   └── CustomRenderThread.java
├── presenter # ui 相关
│   ├── DetectPresenter.java
│   ├── EffectPresenter.java # 内含 demo 中设置的默认值
│   ├── FilterPresenter.java # 内含所有滤镜 名称/索引 对应关系
│   ├── ItemGetPresenter.java # 内含所有小项 key/node 对应关系
│   ├── StickerPresenter.java # 内含所有 贴纸/提示语 对应关系
│   ├── WelcomePresenter.java
│   └── contract
│       ├── DetectContract.java
│       ├── EffectContract.java
│       ├── FilterContract.java
│       ├── ItemGetContract.java
│       ├── StickerContract.java
│       └── WelcomeContract.java
├── task # demo 功能相关
│   ├── SavePicTask.java
│   ├── UnzipTask.java
│   ├── facecluster
│   │   ├── FaceClusterHandler.java
│   │   ├── FaceClusterMgr.java
│   │   └── FaceClusterThread.java
│   └── faceverify
│       ├── FaceVerifyThreadHandler.java
│       └── RepeatedVerifyHandler.java
├── ui # ui 相关
│   ├── BaseEffectActivity.java
│   ├── DemoApplication.java
│   ├── ImageEffectActivity.java
│   ├── LocalBroadcastReceiver.java
│   ├── PermissionsActivity.java
│   ├── PreviewEffectActivity.java
│   ├── ResourceHelper.java
│   ├── VideoEffectActivity.java
│   ├── WelcomeActivity.java
│   ├── adapter
│   │   ├── AlgorithmButtonRVAdapter.java
│   │   ├── ButtonViewRVAdapter.java
│   │   ├── EffectButtonViewRVAdapter.java
│   │   ├── FaceClusterAdapter.java
│   │   ├── FilterRVAdapter.java
│   │   ├── FragmentVPAdapter.java
│   │   ├── OnPageChangeListenerAdapter.java
│   │   ├── SelectRVAdapter.java
│   │   └── StickerRVAdapter.java
│   ├── fragment
│   │   ├── BaseFeatureFragment.java
│   │   ├── algorithm # 算法相关的 ui
│   │   │   ├── AlgorithmButtonFragment.java
│   │   │   ├── AlgorithmFragment.java
│   │   │   ├── DynamicActionInfoFragment.java
│   │   │   ├── FaceClusterFragment.java
│   │   │   ├── FaceInfoFragment.java
│   │   │   ├── FaceVerifyFragment.java
│   │   │   ├── StudentIdOcrFragment.java
│   │   │   └── ui # 内含所有算法 ui 的实现
│   │   └── effect # 特效相关的 ui
│   │       ├── BeautyFaceFragment.java
│   │       ├── EffectFragment.java
│   │       ├── FilterFragment.java
│   │       ├── MakeupOptionFragment.java
│   │       ├── StickerFragment.java
│   │       └── TabStickerFragment.java
│   └── view
│       ├── BrandRecogTip.java
│       ├── ButtonView.java
│       ├── CarRectInfoTip.java
│       ├── GeneralObjectInfoTip.java
│       ├── HandInfoTip.java
│       ├── HumanDistanceTip.java
│       ├── PetFaceInfoTip.java
│       ├── ProgressBar.java
│       ├── PropertyTextView.java
│       ├── ResultTip.java
│       ├── TipManager.java
│       └── VideoButton.java
└── utils # demo 功能相关,各种工具类
    ├── AppUtils.java
    ├── BitmapUtils.java
    ├── CommonUtils.java
    ├── Config.java
    ├── DensityUtils.java
    ├── FrameRator.java
    ├── InputSizeManager.java
    ├── RectUtils.java
    ├── ToastUtils.java
    ├── UserData.java
    └── timer_record
        ├── LogTimerRecord.java
        └── TimerRecord.java