当前位置: 首页 > 后端技术 > Java

轻松集成视频编辑服务一键染发能力,多变发色随心换

时间:2023-04-02 00:59:41 Java

轻松整合视频剪辑服务一键染发,随心变色?HuaweiVideoEditorKit拥有一键染发功能,整合后让APP具备改变头发颜色的能力。用户可以使用预设的多种发色样式,点击即可拥有多种新发色,体验超自然的发色效果,满足用户个性化的美化需求,让视频更加丰富多彩有趣。功能介绍支持图片和视频资源,一键染发能力可以实时处理图片和视频素材。支持多人同时染发。一键染发能力,可对图片/视频中的多人产生染发效果。动作的强度可以调节,用户可以根据场景自由调节头发颜色的深浅。集成代码1开发准备详细的准备步骤可以参考华为开发者联盟官网:https://developer.huawei.com/...2编辑项目集成2.1设置应用认证信息可以通过api_key或访问令牌权限信息。通过setAccessToken方法设置AccessToken,在应用启动时初始化一次,无需多次设置。MediaApplication.getInstance().setAccessToken("你的访问令牌");通过setApiKey方法设置api_key,应用启动时初始化一次,无需多次设置。MediaApplication.getInstance().setApiKey("你的ApiKey");2.2设置唯一ID,即LicenseID。LicenseID是用于管理和控制的有效证书。您必须确保许可证ID的唯一性。MediaApplication.getInstance().setLicenseId("许可证ID");2.2.1初始化Editor运行环境创建一个编辑工程,首先需要创建一个Editor对象,并初始化它的运行环境。离开编辑项目时,应该释放Editor实例。(1)创建Editor对象HuaweiVideoEditoreditor=HuaweiVideoEditor.create(getApplicationContext());(2)指定预览窗口的布局位置。预览窗口负责视频画面的渲染,由VideoEditingAtomicAbilitySDK内部创建的SurfaceView实现。在创建窗口之前,您需要指定预览窗口在您的应用中的布局位置。//指定预览窗口LinearLayoutmSdkPreviewContainer=view.findViewById(R.id.video_content_layout);//设置预览窗口承载的布局editor.setDisplay(mSdkPreviewContainer);(3)初始化运行环境,如果license认证失败,将抛出LicenseException。Editor对象创建后,此时并不占用实际的系统资源,需要手动选择其环境初始化的时机。此时视频编辑原子能力SDK会创建必要的线程和定时器。尝试{editor.initEnvironment();}catch(LicenseExceptionerror){SmartLog.e(TAG,"initEnvironmentfailed:"+error.getErrorMsg());结束();返回;}2.2.2添加视频和图片创建一个Videolane,然后在lane中添加图片或视频素材。图片和视频素材需要通过文件路径添加到泳道中。//获取时间轴对象HVETimeLinetimeline=editor.getTimeLine();//创建一个视频通道HVEVideoLanevideoLane=timeline.appendVideoLane();//在视频通道的最后添加一个视频资源HVEVideoAssetvideoAsset=videoLane.appendVideoAsset("test.mp4");//在视频通道的最后添加图片资源HVEImageAssetimageAsset=videoLane.appendImageAsset("test.jpg");3一键染发整合//一键染发AI算法初始化asset.initHairDyeingEngine(newHVEAIInitialCallback(){@OverridepublicvoidonProgress(intprogress){//初始化进度}@OverridepublicvoidonSuccess(){//初始化成功}@OverridepublicvoidonError(interrorCode,StringerrorMessage){//初始化失败}});//添加一键染发效果,指定一键染发的色卡和默认强度。asset.addHairDyeingEffect(newHVEAIProcessCallback(){@OverridepublicvoidonProgress(intprogress){//一键染发进度。}@OverridepublicvoidonSuccess(){//一键染发成功}@OverridepublicvoidonError(interrorCode,StringerrorMessage){//一键染发过程失败}},colorPath,defaultStrength);//移除一键染发效果asset.removeHairDyeingEffect();在demo集成开发过程中,有问题提单可以在线联系我们,会有专人解答。更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~