如果有一天,你周围的世界突然变得很安静,美妙的音乐对你来说只是寂静;鼓舞人心的演讲对你来说只是哑剧;万里大自然的歌声,只为你画卷。你感到害怕吗?而有这样一群人,每天都在默默地与世界交流,他们就是听障人士。根据2006年第二次全国残疾人抽样调查,我国约有听力残疾人2780万人,占全国残疾人的30%以上,而且这一数据还在逐年增加。受病因和家庭条件的限制,听障人群中能够使用助听器和人工耳蜗的比例相对较小。另一些人不仅面临生活中的种种不便,也难以感受人间的精彩。主要的沟通桥梁。然而,手语听不懂、专业知识不够、翻译技巧不够、肢体姿势不够生动、手语翻译员在翻译过程中帮助聋人答疑……这些暴露出来的问题已经对听障人士影响很大。翻译服务的用户体验。据残联统计,我国专业手语翻译员不足1万人,不能满足听障人士参与社会生活时的交流需求。这就需要一些App能够增加将文字翻译成手语的功能,在手语翻译能力有限的情况下,满足听障人士的基本生活和学习需求。每年九月的第四个星期天是国际聋人日。为关爱听障人士,华为手语服务(SignPalKit)提供手语生成能力,将文字实时翻译成符合听障人士表达习惯的流畅、自然的手语动作。数据可以轻松构建信息无障碍的创新应用,构建无缝沟通的世界。可用于日常家庭通讯、教育学习、购物、媒体播放等场景。比如在教学场景中,可以帮助听障儿童学习阅读,实现手语教学。手语生成手语动作生成基于深度神经网络技术,将输入文本实时翻译成时序稳定、连贯、符合听障人士表达习惯的手语动作数据。手语表情生成手语生成不仅包括手部动作和身体姿势,还支持面部表情,包括喜、怒、哀、疑等基本表情信息,以及皱眉等各种非手控表情和脸颊膨化。SignLanguageMouthGeneration手语生成支持符合听障人士表达习惯的嘴部动作。手语服务可以将输入的文字转化为手语动作数据,可用于日常家庭交流、教育学习、购物、媒体播放等场景。手语服务通过手语动作和面部表情,准确、流畅地传达讲师的授课内容,让特教学院的听障学生在无声的世界里也能实现无障碍在线学习。优势与特点自然流畅:手语动作流畅自然,符合手语表达习惯。词汇覆盖面广:按照中国国家通用标准,词汇量超过10000个,满足多场景应用需求。手语具有丰富的表现力:手语动作包括手部动作、身体姿势、面部表情和唇部动作。开发步骤在开始App开发之前,您需要完成必要的开发准备工作。确保你的项目已经配置了AppGalleryConnect、HMSCoreSDK集成、混淆脚本配置和权限添加。1.激活身份验证。需要使用“agconnect-services.json”中的api_key值,在应用初始化时通过AccessToken或api_key设置应用认证信息。AccessToken具有更高的优先级。通过setAccessToken()方法设置AccessToken,可以在应用初始化时设置。如果Token过期,需要更换Token重新设置。SignPalApplication.getInstance().setAccessToken("你的AccessToken");通过setApiKey()方法设置api_key,在应用启动时初始化一次,无需多次设置。SignPalApplication.getInstance().setApiKey("你的api_key");当您在AppGalleryConnect上注册您的应用时,系统会为您的应用分配一个api_key。具体参见添加当前应用的AppGalleryConnect配置文件。2.创建手语生成实例。您可以通过手语生成自定义配置类GeneratorSetting创建一个手语生成SignGenerator实例。//1.新建一个配置项,不需要设置,如果不设置,使用默认值GeneratorSettingsetting=newGeneratorSetting().setLanguage(GeneratorConstants.CN_CSL)//2.配置方法//a.在初始化期间设置SignGeneratorsignGenerator=newSignGenerator(setting);//b。过程中更新signGenerator.updateSetting(setting);3.为SignGenerator实例设置手语生成回调GeneratorCallback,处理手语生成结果。signGenerator.setCallback(newGeneratorCallback(){@OverridepublicvoidonEvent(StringtaskId,inteventId,Bundlebundle){switch(eventId){//以下回调事件类型是手语生成过程中需要注意的情况GeneratorConstants.EVENT_START://任务开始回调break;caseGeneratorConstants.EVENT_DOWNLOADING://任务下载break;caseGeneratorConstants.EVENT_STOP://任务停止回调booleanisInterrupted=bundle.getBoolean(GeneratorConstants.EVENT_STOP_INTERRUPTED);break;default:break;}}@OverridepublicvoidonSignDataAvailable(StringtaskId,SignMotionFragmentsignFragment,Pair
