前言

实不相瞒,小编作为了一个湖南人,时常被说普通话不够标准,不仅N/L不分,有时候还分不出来卷舌音,经常闹笑话,导致小编十分苦恼。 有时看着电视里的主持人流利的口播,和完全标准的绕口令都羡慕不已,常常幻想着自己有一天也能说一口流利的绕口令。恰巧,小编昨日上网的时候被推送了集成了华为HMS ML Kit实时语音服务的小游戏-Tongue Twister, 这款游戏究竟是如何玩转绕口令的,接下来就和小编一起一探究竟吧!

应用场景

Tongue Twister 就是一款集成了华为HMS ML Kit实时语音识别服务的绕口令小游戏,游戏中一共有5个关卡,每一个关卡就是一段绕口令,通过秘诀就是凭借强大的实时语音识别,实时语音识别服务覆盖日常生活及工作中的众多领域,并且深度优化了购物搜索、影视搜索、音乐搜索以及导航等场景中的识别能力,识别准确率高,可轻松检测闯关者的发音,如若发音清晰标准即可过关,

在这里插入图片描述

下面我们一起来看看这个游戏的正确打开方式吧!

这么样,是不是心动了,那就一起来试试自己定制属于你的绕口令大闯关吧!

开发步骤

  1. 请参见云端鉴权信息实用须知,设置您应用的鉴权信息。

中:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/sdk-data-security-0000001050040129-V5#ZH-CN_TOPIC_0000001050750251__section2688102310166
英:https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/sdk-data-security-0000001050040129-V5#EN-US_TOPIC_0000001050750251__section2688102310166

  1. 用户调用接口创建一个语音识别器。
MLAsrRecognizer = MLAsrRecognizer.(context);
  1. 创建语音识别结果监听器回调。
SpeechRecognitionListener MLAsrListener {
     @Override
     onStartListening() {
         }
 
     @Override
     onStartingOfSpeech() {
         }
 
     @Override
     onVoiceDataReceived([] data, energy, Bundle bundle) {
         
     }
 
     @Override
     onRecognizingResults(Bundle partialResults) {
         
     }
 
     @Override
     onResults(Bundle results) {
         
         }
     }
 
     @Override
     onError(error, String errorMessage) {
         
     }
 
     @Override
     onState(state, Bundle params) {
         
     }
 }
  1. 将新建的结果监听器回调与语音识别器绑定
.setAsrListener(SpeechRecognitionListener());
  1. 配置识别参数,调用启动语音识别
Intent = Intent(MLAsrConstants.);
 .putExtra(MLAsrConstants., language)
         .putExtra(MLAsrConstants., MLAsrConstants.);
mSpeechRecognizer.startRecognizing(mSpeechRecognizerIntent);
  1. 识别完成后,释放资源
(!= ) {
     .destroy();
     = ;
 }
maven地址

buildscript {
     repositories {
         maven { url }
     }
 }
 allprojects {
     repositories {
         maven { url }
     }
 }

引入SDK

dependencies {implementation implementation implementation }

清单文件

<...
     < />
     ...
 </>
 

权限

</>
 

动态权限申请

requestCameraPermission() {
     String[] permissions = String[]{Manifest.permission.};
     (!ActivityCompat.(,
             Manifest.permission.)) { ActivityCompat.(,
                 permissions,
                 TongueTwisterActivity.);
         ;
     }
 }

总结

除了在游戏当中的应用,实时语音识别服务在使用购物类App搜索商品时,可以将语音描述的商品名称或特征识别为文字从而搜索到目标商品。同样,在使用音乐类App时,可以将语音输入的歌名或歌手识别为文字进而搜索歌曲。另外,司机在驾驶过程中不方便输入文字时,可以将输入的语音转换为文字继而搜索目的地,让行车更加安全。

GitHub Demo Code

欲了解更多详情,请参阅:

华为开发者联盟官网:
https://developer.huawei.com/consumer/cn/hms/huawei-mlkit

获取开发指导文档:
https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/service-introduction-0000001050040017

参与开发者讨论请到Reddit社区:https://www.reddit.com/r/HuaweiDevelopers/

下载demo和示例代码请到Github:https://github.com/HMS-Core

解决集成问题请到Stack Overflow:
https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!


引用和评论

0 条评论