返回顶部
首页 > 资讯 > 移动开发 >Android 开发系统自带语音模块应用
  • 294
分享到

Android 开发系统自带语音模块应用

开发系统模块系统Android 2022-06-06 08:06:17 294人浏览 泡泡鱼
摘要

需求:项目中需要添加语音搜索模块,增加用户体验 解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求。这个问题很好解决,网上能找到很多的资料,但是

需求:项目中需要添加语音搜索模块,增加用户体验

解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求。这个问题很好解决,网上能找到很多的资料,但是没有直接导入工程就能用的例子,我这里写了一个完整的Demo,代码可以直接粘贴到自己项目中去,实现了

语音搜索,并将搜索结果展示。

语音搜索大致流程:启动系统自带的Intent,Intent参数设置为RecognizerIntent.ACTION_RECOGNIZE_SPEECH,再加上一些提示参数


intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "请开始说话"); 

当完成语音搜索之后在onActivityResult里进行数据接收,我这里只是展示了语音搜索的第一个结果,系统提供的结果有很多,是根据相似度排列的。我在Demo里使用了handler,在handler里把数据展示了出来。项目中这种情况下,对数据的一些处理都是在handler中进行。开发的过程中遇到一些语音搜索崩溃的现象,最后发现在结果展示的时候不要做一些费时的操作。

代码如下


public class MainActivity extends Activity { 
  private Button btnVoice; 
  private TextView tvVoiceResult; 
  private static final int VOICE_RECOGNITioN_REQUEST_CODE = 123456; 
  private Handler jumpHandler = new Handler() { 
    public void handleMessage(Android.os.Message msg) { 
      tvVoiceResult.setText((String)msg.obj); 
    }; 
  }; 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    btnVoice = (Button) findViewById(R.id.btnVoice); 
    tvVoiceResult = (TextView) findViewById(R.id.tvVoiceResult); 
    btnVoice.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        try { 
          Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
          intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
          intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "请开始说话"); 
          startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); 
        }catch(ActivityNotFoundException e) { 
          AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
          builder.setTitle("语音识别"); 
          builder.setMessage("您的手机暂不支持语音搜索功能,点击确定下载安装Google语音搜索软件。您也可以在各应用商店搜索“语音搜索”进行下载安装。"); 
          builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, int which) { 
//             跳转到下载语音网页 
            } 
          }); 
          builder.setNegativeButton("取消", null); 
          builder.show(); 
        } 
      } 
    }); 
  } 
  @Override 
  public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
  } 
  @Override 
  protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == MainActivity.RESULT_OK) { 
      ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
      if(matches.size() > 0) { 
        Message msg = new Message(); 
        msg.obj = matches.get(0); 
        jumpHandler.sendMessage(msg); 
      } 
    } 
  } 
} 

以上就是对Android 语音模块开发的一个小实例,有需要的朋友可以参考下。

您可能感兴趣的文章:Android自定义UI实现微信语音Android编程之语音识别实现方法Android语音识别技术详解及实例代码百度语音识别(Baidu Voice) Android studio版本详解Android 轻松实现语音识别详解及实例代码Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)轻松实现Android语音识别功能Android基于讯飞语音SDK实现语音识别Android仿微信语音聊天功能android仿微信聊天界面 语音录制功能


--结束END--

本文标题: Android 开发系统自带语音模块应用

本文链接: https://lsjlt.com/news/24606.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android 开发系统自带语音模块应用
    需求:项目中需要添加语音搜索模块,增加用户体验 解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求。这个问题很好解决,网上能找到很多的资料,但是...
    99+
    2022-06-06
    开发系统 模块 系统 Android
  • 如何卸载Android自带系统应用
        2022年年底,小米正式发布了MIUI14,说MIUI14可以删除8个核心应用以外的所有应用。然而我更新MIUI14后,并不像说的那样,再一次被当猴耍了。转念一想,国产的room怎么会做到这么良心呢? 一、MIUI14的大饼    ...
    99+
    2023-09-03
    android
  • win10系统如何使用自带录音机
    这篇文章将为大家详细讲解有关win10系统如何使用自带录音机,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。登录win10系统桌面,点击打开开始菜单 – 所有应用 – 录音机。 在打开的录音机窗口...
    99+
    2023-06-28
  • 糖果世界模式系统应用开发
    众所周知,HTML5技术本身具有许多优势。但是,如果HTML5想成为移动互联网时代App开发的主流技术,有一个必要的前提条件,就是它的功能、性能和API扩展能力上必须要达到Native的水平。而在这一点上,依靠W3C规范的定义和浏览器厂商的...
    99+
    2023-06-04
  • android studio开发系统应用签名处理
    问题来源 做系统应用开发,需要配置系统的签名,才能让应用具有系统权限。比如当我们把SystemUI,Setting,Launcher导入andr...
    99+
    2022-06-06
    Android Studio studio 系统 Android
  • win10系统自带应用打不开的解决方法
    小编给大家分享一下win10系统自带应用打不开的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用“win+r”打开运行,输入“services.msc”...
    99+
    2023-06-28
  • win8系统录音机在哪?win8自带录音机功能打开教程
    现在win7和win8的系统中都自带录音机功能,这个给我们带来了很大的方便,可以让我们很轻松的记录在系统中播放的音频,尤其是在看电影或电视的时候,可以很轻松把喜欢的背景音乐捕捉下来。当然,录音机的功能不只是...
    99+
    2022-06-04
    录音机 自带 功能
  • Android如何调用系统自带浏览器打开网页
    小编给大家分享一下Android如何调用系统自带浏览器打开网页,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Android中可以调用自带的浏览器,或者指定一个浏...
    99+
    2023-05-30
    android 浏览器
  • PHP在网络音乐播放系统开发中的应用
    PHP(Hypertext Preprocessor)是一种广泛应用于网络开发的脚本语言,它被广泛应用于各种网站和应用的开发中。在网络音乐播放系统的开发中,PHP也扮演了重要的角色。本文将探讨PHP在网络音乐播放系统中的应用。首先,PHP可...
    99+
    2023-10-27
    音频文件管理等功能。
  • 如何在Android应用中调用系统自带的分享功能
    本篇文章给大家分享的是有关如何在Android应用中调用系统自带的分享功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现分享功能的几个办法调用系统的分享功能通过第三方SDK...
    99+
    2023-05-31
    android roi
  • Android GPS系统的应用开发步骤是什么
    Android GPS系统的应用开发步骤可以分为以下几个步骤:1. 创建一个新的Android项目:使用Android Studio...
    99+
    2023-10-24
    Android
  • 如何解决win10系统自带应用打不开的问题
    这篇文章主要介绍了如何解决win10系统自带应用打不开的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先可以使用“win+r”打开运行,直接输入“services.ms...
    99+
    2023-06-27
  • win8系统如何使用自带视频应用
    小编给大家分享一下win8系统如何使用自带视频应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!win8系统使用自带视频应用方法/步骤:在win8系统中点击开始屏...
    99+
    2023-06-27
  • PHP电商系统开发指南扩展模块集成
    在 php 电商系统开发中,集成第三方扩展模块可满足特定需求或增强系统功能。具体步骤包括:准备好 php 环境,并确定要集成的扩展模块。使用 composer 安装扩展模块,并根据其文档...
    99+
    2024-05-21
    电商 php composer
  • 语音直播系统开发,一套完整的语音直播系统源码必有的特色功能
    直播系统现在对于大家来说并不陌生了,所谓是家喻户晓了,但是大家首先想到的应该就是娱乐多人互动视频直播,其实视频直播直播统并不仅仅有视频直播这一种方式,还有语音直播等多种直播方式,两种直播形式有相似之处也有不同之处,相似的是都可以做到一种传播...
    99+
    2023-06-04
  • Android Framework最难模块WMS实战作业-手机车机系统开发必备
    wms相关list 0-整体介绍 1-window-container.mp4 窗口层级树实战启动篇 2-displayarea-feature.mp4 窗口层级树源码分析相关 3-displayar...
    99+
    2023-09-14
    android android studio ide framework 动画
  • ios开发 swift5 苹果系统自带的图标 SF Symbols
    文章目录 1.官网app的下载和使用2.使用代码 1.官网app的下载和使用 苹果官网网址:SF Symbols 通过上面的网址可以下载dmg, 安装到自己的mac上 貌似下面这样不能展示出动画,还是要使用动画的代码 .b...
    99+
    2023-08-30
    ios
  • Windows8系统自带录音机程序的几种打开方法小结
      方法一:在正常桌面中,按键盘的 F3 按键,键入“录音机”并回车搜索,然后点击选择“录音机”。   方法二:使用组合热键“Win+R”调出运行...
    99+
    2023-06-06
    Windows8 录音机 自带 程序 方法 系统
  • 嵌入式系统开发中如何应用Go语言?
    嵌入式系统开发中如何应用Go语言? 随着嵌入式系统在日常生活中的广泛应用,嵌入式系统开发变得越来越重要。传统上,C和C++等语言被广泛应用于嵌入式系统的开发中,但近年来,一种新的语言—...
    99+
    2024-04-02
  • PHP开发的企业资源计划(ERP)系统中的薪资管理模块的应用
    使用PHP开发的薪资管理模块在企业资源计划(ERP)系统中的应用 摘要:随着企业规模的不断扩大,薪资管理成为一项复杂且具有挑战性的任务。在这篇文章中,我们将介绍如何使用PHP开发一个薪资管理模块,并将其应用于企业资源计划(ERP...
    99+
    2024-01-22
    PHP开发 企业资源计划系统 薪资管理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作