android开发中系统自带语音模块的使用

Android原生TTS的基本使用以及配合中文语音包实现中文TTS 最近因为一些特殊需求,公司希望使用离线TTS,不花钱的中文离线TTS,最好音色还要多一点,语速,语调都要可控;总之一句话,以不花钱的代价达到最好的效果。其实现在很多的开发者平台也都提供一两种音色的离线TTS开发SDK,比如科大,云知声等等,我之前也做过一个百度在线ASR与云知声离线TTS结合实现的一个复读机的小Demo,有兴趣的朋友可以点击看一下 配合最近我上传的gi... 阅读详情

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

解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求。这个问题很好解决,网上能找到很多的资料,但是没有直接导入工程就能用的例子,我这里写了一个完整的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);
        	}
        }
    }
    
}

Demo下载地址



香橙派Zero2——Linux连接安卓手机与语音模块串口通信 3、把SDK烧录到语音模块(SU-03T),用USB转TTL模块连接语音模块接四根线(5V、GND、TXD、RXD)。从坐标点(540,500)用100ms滑动到坐标点(540,1300)从坐标点(540,1300)用100ms滑动到坐标点(540,500):USB转TTL模块的TXD接到语音模块的B6(RX)、RXD接到B7(TX)。(TX)、VCC、GND,B7连到香橙派上的RXD引脚。官网,点击创建产品,选择rgb灯、模组su-03T、离线版本、中文。2、创建一个新的 .rules 文件。 阅读详情

相关推荐

倒车预警语音模块设计:从流程图到嵌入式实现

在嵌入式系统与汽车电子领域,信号处理与实时控制是核心技术基础。其原理在于通过传感器采集环境数据,经过滤波、融合与逻辑判断,最终驱动执行器完成特定功能,技术价值在于实现系统自动化、智能化与高可靠性。这一技术广泛应用于工业控制、物联网与消费电子,尤其在需要高实时性与安全性的场景中,如汽车辅助驾驶系统。本文聚焦于倒车预警语音模块这一典型应用,深入剖析其基于流程图驱动的设计方法,涵盖从传感器数据输入到语音播报输出的完整信号链,并详细探讨了优先级仲裁、防抖设计等关键环节,为嵌入式软件工程师提供了可复现的工程实践指南。

angel192939的博客 423

李长军android语音开发_android开发中系统自带语音模块的使用

android开发中系统自带语音模块的使用需求:项目中需要添加语音搜索模块,增加用户体验解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求。这个问题很好解决,网上能找到很多的资料,但是没有直接导入工程就能用的例子,我这里写了一个完整的Demo,代码可以直接粘贴到自己项目中去,实现了语音搜索,并将搜索结果展示。语音搜索大致流程:启动系统自带的Intent,Intent参...

weixin_39605706的博客 135

Android调用手机系统自带录音功能实现语音录制与播放

Android调用手机系统自带录音功能实现语音录制与播放

传感器实验——语音模块

传感器实验——语音模块MR开发板JQ8900-16P 语音模块使用方法示例程序:播放音频 MR开发板 JQ8900-16P 语音模块 J Q 8 9 0 0 - 1 6 P 选 用 的 是 S O C 方 案 , 集 成 了 一 个 1 6 位 的 M C U , 以 及 一 个 专 门针 对 音 频 解 码 的 A D S P , 采 用 硬 解 码 的 方 式 , 更 加 保 证 了 系 统 的 稳 定 性 和 音 质 。 小 巧 尺寸 更 加 满 足 嵌 入 其 它 产 品 的 需 求 。

咸鱼菌 2086

语音唤醒android源代码

语音唤醒android源代码,使用android studio软件编写。

基于android的智能语音交互

语音唤醒后,即可进行自由对话,但每次必须重新唤醒。注册科大讯飞账户后,下载语音唤醒,语义等服务,按txt文档所说导入必要文件并且修改appid,即可实现上述效果。

更新高德地图语音模块

使用安卓sdk 24 编译官方导航Demo崩溃解决办法

guchuanhang的专栏 7392

uniapp 使用摄像头 live-pusher (APP)

uniapp 中开发 app 时使用live-pusher踩过的坑

随身笔记 1万+

Android第一章 Android开发基础

然而,当想要浏览其它网贞时,手机邮箱就通过启动一个Service,从而使邮箱在后台运行,虽然没有界面,但它并没有退出程序,当有新的邮件发过来时,可以给用户消息提示,并回到邮箱界面,这就是用Service保证用户界面关闭后,仍然能收到消息。广泛支持GSM、CDMA、3G和4G的语音和数据业务,提供了地图服务的强大的API函数,提供组件复用和内置程序替换的应用程序框架,提供基于Webkit的浏览器,广泛支持各种流行的音视频和图像格式,并为2D和3D图形图像处理提供专用的API函数。

m0_56556765的博客 1527

【DSP】【工程实战】从零构建C6678多核工程:CCS环境配置与启动模式详解

本文详细介绍了在CCS开发环境中从零构建TMS320C6678多核DSP工程的完整流程。内容涵盖KeyStone架构解析、工程创建、基础代码编写、链接命令文件配置、仿真器调试,并重点深入讲解了包括I2C EEPROM在内的多种一级启动模式原理与配置方法,为开发者提供了一套清晰、可复用的实战指南。

weixin_29164185的博客 417

STM32通过ESP8266连接机智云APP(第二讲,烧录固件并测试)

今天与大家分享STM32通过ESP8266连接机智云APP,并完成数据的上传下发第二讲。带大家一起烧录机智云固件到ESP8266并且将其通过机智云串口助手与APP进行测试。

qq_63267523的博客 1425

基于android的新闻阅读系统

在新闻阅读界面中,主要有四个新闻页面,分别是科技新闻,娱乐新闻,体育新闻,头条新闻;用户可以成为新闻的报道者,以作者的身份发布自己所要表达的新闻内容及观点,投稿到相应的分类模块内,经管理员审核通过发布。从用户权限的角度将APP的用户范围划分为普通用户和管理员两种,管理员比用户等级权限略高一些,除浏览新闻外,还需管理用户信息,审核新闻发布等操作。用户可以关注喜欢的作者栏目,当被关注者发布最新文章时可立即通知,即用户可以接收到所关注的作者的最新发表内容,以便下次及时浏览该作者的文章。4:进行客户端页面的开发;

u014388322的专栏 1012

Labview_DQMH框架学习1--浅析

本文主要结合一个相对容易理解的例子,阐述 DQMH 框架的工作原理,希望对初学者有一定的帮助。

hrbeuxn的博客 3049

香橙派借助语音模块实现语音刷抖音

①:香橙派作为主控②:语音识别模块,进行语音识别③:一台安卓手机(鸿蒙系统也可)SU-03T 是一款低成本、低功耗、小体积的离线语音识别模组,能快速应用于智能家居,各类智能小家电,86 盒,玩具,灯具等需要语音操控的产品。通过串口通信,可以实现SU-03T模块和开发板的交互,如:OrangePi PC+、STM32等。从而控制OrangePi PC+的外设(如果将我们的手机连接到OrangePi,也可以实现对手机的控制)基本套餐应包括喇叭+模块主板+咪头(就是喇叭)+电源线,大概20元左右。

m0_62221663的博客 2803

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4841

科研——ICONIP论文修改和提交

ICONIP说明文档

Blackoutdragon的博客 6646

【嵌入式Linux项目】基于Linux的全志H616开发板智能家居项目(语音控制、人脸识别、安卓APP和PC端QT客户端远程操控)有视频功能展示

智能家居,语言控制,人脸识别,安卓APP,QT

阿龙的博客 7493

Qt入门教程100篇(已完结)

Qt5入门教程,Qt6入门教程。包含了: Qt环境搭建篇、Qt数据类型篇、Qt中STL篇、Qt核心篇、Qt核心对象QObject篇、Qt基础控件篇、Qt对话框篇、Qt高级控件篇、Qt数据模型篇、QSS篇、Qt文件篇 、Qt硬件编程、Qt的一些demo、Qt项目开发篇。......

小鱼酱的博客 15万+

香橙派zero2w——语音刷抖音项目

香橙派zero2w——语音刷抖音项目

weixin_63780683的博客 1096

科研绘图系列:R语言circos图(circos plot)

科研绘图系列:R语言circos图(circos plot)

专注生信领域 3431

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

基于Linux串口实现语音控制刷抖音

​进入语音模块官网 http://www.smartpi.cn/#/,配置词条和识别后的串口输出指令。① 输入指令:dmesg 查看连接USB的设备信息(此处查看手机信息)。② 输入指令:sudo apt-get install adb 安装adb工具。③ 命令查看设备:adb devices可以看到adb检查到的串行设备数字。④ 打开手机开发者选项,允许usb进行调试。⑤ adb shell进入手机,出现以下页面,表示进入手机成功。⑥ 退出命令:exit ​

m0_74985965的博客 3173

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

语言控制刷抖音(串口+SU-03T语音模块)

进入语音模块官网http://www.smartpi.cn/#/,配置词条和识别后的串口输出指令,生成SDK(以下为主要部分配置)。orangePi,SU-03T语音模块,手机(已装抖音)

tyro_wzp的博客 852

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

语音助手刷抖音

香橙派实现通过语音控制抖音的滑动和点赞

qq_45806510的博客 1733
上一篇: Android 开发中一种蛋疼的UI布局
下一篇: Android开发带有圆角列表UI布局续
Steffen02
博客等级 码龄16年 138粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值