Android通过TextToSpeech实现文字转语音

一、直接上代码:

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import java.util.Locale;public class MainActivity extends Activity implements TextToSpeech.OnInitListener {TextToSpeech textToSpeech;EditText ed1;Button b1;String toSpeak;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ed1 = findViewById(R.id.editText);b1 = findViewById(R.id.button);textToSpeech = new TextToSpeech(getApplicationContext(), this);b1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {toSpeak = ed1.getText().toString();Toast.makeText(getApplicationContext(), toSpeak, Toast.LENGTH_SHORT).show();
//                textToSpeech.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);textToSpeech.speak(toSpeak, TextToSpeech.QUEUE_ADD, null, null);}});}public void onPause() {if (textToSpeech != null) {textToSpeech.stop();textToSpeech.shutdown();}super.onPause();}@Overridepublic void onInit(int status) {//判断是否转化成功if (status == TextToSpeech.SUCCESS) {//设置语言为中文int languageCode = textToSpeech.setLanguage(Locale.CHINA);//判断是否支持这种语言,Android原生不支持中文,使用科大讯飞的tts引擎就可以了if (languageCode == TextToSpeech.LANG_NOT_SUPPORTED) {Log.d("TAG", "onInit: 不支持这种语言");} else {//不支持就改成英文textToSpeech.setLanguage(Locale.US);}//设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规textToSpeech.setPitch(1.0f);//设置语速textToSpeech.setSpeechRate(1.0f);//在onInIt方法里直接调用tts的播报功能
//            textToSpeech.speak("李佩伦打卡成功", TextToSpeech.QUEUE_ADD, null);}}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:text="文字转语音示例"android:textSize="35sp" /><EditTextandroid:id="@+id/editText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/textview"android:layout_alignParentStart="true"android:layout_alignParentLeft="true"android:layout_alignParentEnd="true"android:layout_alignParentRight="true"android:layout_marginTop="46dp"android:hint="输入文字"android:textColor="#ff7aff10"android:textColorHint="#ffff23d1" /><Buttonandroid:id="@+id/button"android:layout_width="130dp"android:layout_height="wrap_content"android:layout_below="@+id/editText"android:layout_centerHorizontal="true"android:layout_marginTop="46dp"android:text="文字转语音" /></RelativeLayout>

二、效果:输入‘中文’点击按钮发音

 三、Android高版本兼容

        如果在Android11里转语音不发声,并且报错:speak failed:not bound to TTS engine,则需要在AndroidManifest.xml文件中声明如下内容:

    <queries><intent><action android:name="android.intent.action.TTS_SERVICE"/></intent></queries>

四、扩展

1、setLanguage支持的一些语言环境:

语言常量
美式英语US
加拿大法语CANADA_FRENCH
德语GERMANY
意大利语ITALY
日语JAPAN
汉语CHINA

 2、TextToSpeech类中的一些其他方法:

方法说明
addSpeech(String text, String filename)此方法在文本字符串和声音文件之间添加映射。
getLanguage()此方法返回描述语言的Locale实例。
isSpeaking()此方法检查TextToSpeech引擎是否正在忙于讲话。
setPitch(float pitch)此方法设置TextToSpeech引擎的语音音调。
setSpeechRate(float speechRate)此方法设置语音速率。
shutdown()此方法释放TextToSpeech引擎使用的资源。
stop()这种方法停止说话。

3、播放的声音可在手机:设置->语言与输入法->文字转语音(TTS)输出 中进行设置,或安装其他平台语音识别模块并在此配置。

应用名称支持离线备注下载地址
ITRI TTS下载
讯飞语记需打开一次, 但不需要登陆下载
科大讯飞语音引擎3.0推荐下载
Speech Services by Google需要科学上网, 离线需要先下载语音包下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/54045.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 离线文字转语音功能-TTS(Text To Speech)

前言 在 Android 中&#xff0c;TTS全称叫做 Text to Speech&#xff0c;从字面就能理解它解决的问题是什么&#xff0c;把文本转为语音服务&#xff0c;意思就是你输入一段文本信息&#xff0c;然后Android 系统可以把这段文字播报出来。这种应用场景目前比较多是在各种语音助…

微信24小时客服热线电话/如何转到人工服务办理

这个时候&#xff0c;我们就可以拨打微信服务电话到人工客服咨询中心&#xff0c;让人工客服为我们解决我们需要解决的问题和我们想要知道的信息电话接通后&#xff0c;按照微信人工服务的提示指示去做&#xff0c;这样我们就可以24小时打通微信人工服务热线&#xff1f;

在线客服功能介绍-了解常见在线客服系统的功能点

在线客服&#xff0c;通常我们说这个基本都是指IM客服(区分于电话客服等)。“客服”表示了系统的使用人群或系统功能&#xff0c;“在线”说明了交互方式。我们在日常生活中多多少少都有用到或接触过在线客服&#xff0c;比如&#xff1a; ​ 在生活中我们可能会遇到各种各样的…

微信哪个电话能转人工服务器,如何联系微信人工客服?掌握好窍门,只需30秒可接通,亲测有效...

原标题&#xff1a;如何联系微信人工客服&#xff1f;掌握好窍门&#xff0c;只需30秒可接通&#xff0c;亲测有效 很多人都会使用微信&#xff0c;但是使用过程中难免会遇到问题&#xff0c;比如账号封号、转错账、支付问题等。如果在机器人自动回答中解决不了问题&#xff0c…

人工客服为什么总是接不通?

原文链接 “有问题找客服”&#xff0c;人们总是会这样说&#xff0c;感觉一切售前售后都可以通过客服快速解决&#xff0c;可是当我们真正拨打客服热线的时候却遇上了等待时间过长&#xff0c;甚至是在线人工客服迟迟转接不上等种种情形。而接通以后如果是智能客服机器人&…

LCHub:Zoho联手ChatGPT,为8,000万用户提供生成式AI服务!

近日,全球著名SaaS服务商Zoho宣布与OpenAI达成技术合作,将ChatGPT集成在产品矩阵中,并推出全新生成式AI产品——Zia。 据悉,Zia在ChatGPT加持下,具备自动生成文本、量身定制文本、文本重置、邮件内容生成、会议摘要、生成公式、客服摘要、数据格式转换等功能。 简单来说…

如何使用ChatGPT辅助编程:通过引导自动生成编程代码

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 大型语言模型基本上是一台可以理解和生成文本的机器。取决于它的训练方式&#xff0c;有时模型可以生成文本以外的内容。ChatGPT就是这样一个大型语言模型。如果您正确提示&#xff0c;它可以生成编程代码。在这篇文章中&a…

【Tomcat内核】server和servic的区别

以下回答来自chatGPT server是什么&#xff1f; Server可以翻译为服务器&#xff0c;是一种提供网络服务的计算机系统。它可以接受来自客户端的请求并响应这些请求&#xff0c;以满足客户端的需求。服务器可以提供各种服务&#xff0c;例如网站托管、电子邮件、数据库、文件共享…

今天,微软重新发明搜索引擎:首款 ChatGPT 搜索来了

这是「进击的Coder」的第 795 篇技术分享 来源&#xff1a;机器之心 “ 阅读本文大概需要 8 分钟。 ” 从现在起&#xff0c;比 ChatGPT 更强大的语言模型直接进入了你的浏览器。 一夜之间&#xff0c;全球最大的科技公司仿佛都回到了自己年轻时的样子。 在谷歌宣布「实验性对…

chatgpt赋能python:用Python开发软件的SEO:如何让您的应用程序更容易被搜索引擎索引

用Python开发软件的SEO&#xff1a;如何让您的应用程序更容易被搜索引擎索引 引言 在当今数字化时代中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是一项非常重要的工作&#xff0c;尤其是对于那些寻求在互联网上推广新软件的开发人员。如果您正在寻找一种使您的软…

天秤座的主动在于次文

文章导读&#xff1a; 不主动找你聊天&#xff0c;不是因为你不重要&#xff0c;而是我不知道我不重要。太主动反而被敷衍&#xff0c;只好把想念和热情都收敛&#xff0c;可你永远不知道&#xff0c;主动的人需要鼓起多大的勇气&#xff0c;一点人际关系&#xff0c;一点机遇…

比特未来:Facebook仍将在2020年启动天秤座

比特未来&#xff1a;Facebook仍将在2020年启动天秤座 比特未来的前沿新闻称&#xff0c;Facebook将在2020年前推出Libra&#xff0c;尽管监管机构推迟了这一计划。 Facebook副总裁达维•马库西(Dawei•makusi)在Facebook上表示&#xff0c;尽管监管机构对天秤座项目存在强烈敌…

【天秤座区块链】元宇宙知识普以及简单解读清华研究报告

本节目录 温馨提示关于分栏【天秤座区块链】由来提前感受元宇宙区块链的两个注意点区块链革命简单认识清华大学报告解读&#xff08;元宇宙&#xff09;前传《雪崩》元宇宙具体是什么&#xff1f;元宇宙不是什么&#xff1f;那为什么要冲击元宇宙呢&#xff1f; 小补充及感谢 温…

处女座男生颜值测试软件,颜值在线又绅士的星座男(图)

颜值在线又绅士的星座男 绅士气质还不够&#xff0c;还有颜值来加分--这样的男主&#xff0c;有多少等爱的小仙女在期盼&#xff1f;然而不是谁都符合有颜绅士的标准&#xff0c;如何才能找到最名副其实的呢&#xff1f;摘星工厂-星吧用星座来支招。 处女座 时代在改变&#xf…

做跨境人人都是天秤座,三个月都没能建起一个店铺

小编告诉你个秘密&#xff0c;做电商的都是天秤座&#xff01; 近几年&#xff0c;因为疫情的影响&#xff0c;实体生意确实不太好做&#xff0c;反而给了线上电商一次前所未有的机会。 很多人想抓住机会&#xff0c;一头钻进国内市场&#xff0c;小编只能说格局小了&#xf…

来自天秤座的梦想_天秤座:单线全自动机器学习

来自天秤座的梦想 Libra is one of the python package, which helps in performing deep learning on a given data set with minimum no of lines of code. The recent usages of Machine Learning in many of daily applications. There has been many platforms for perfor…

天秤座

天秤座 9月24日&#xff5e;10月23日  主宰行星&#xff1a;金星  属性&#xff1a;风相星座 秋天出生的生辰星位或太阳在天秤座的人的特点&#xff1a; 天秤座是象征着秋天来临的星座&#xff0c;秋意表现在天秤座的人身上是对意气相投的特殊嗅觉。你寻求着共同点和互相谅…

如何防止人工智能毁灭人类

朋友们&#xff0c;如需转载请标明出处&#xff1a;http://blog.csdn.net/jiangjunshow 超级智能 很多人担心超人工智能总有一天会选择伤害人类。之前&#xff0c;史蒂芬霍金曾呼吁建立一个新的世界“政府”来管理我们给予人工智能的能力以免其毁灭人类。这个陈述是很大胆的&a…

卡巴斯基郑启良:支持信创发展是卡巴斯基的重要使命

6月8日&#xff0c;卡巴斯基在京举办媒体见面会&#xff0c;分享了其对2023年安全行业可能出现的威胁格局变化趋势&#xff0c;并对卡巴斯基近年业务发展情况做了说明和展望。 【卡巴斯基大中华区总经理郑启良】 “今年上半年&#xff0c;卡巴斯基中国市场的业务增长速度已经超…

零基础转行网络工程师,过来人给的一些建议

最近收到好多学员的一些提问&#xff0c;零基础没经验&#xff0c;能不能转行到网络工程师&#xff1f;薪资能有多少&#xff1f;发展前景怎么样&#xff1f; 应该有不少朋友都有这个疑问&#xff0c;那么&#xff0c;今天我尽量给大家做出一个详细的解答&#xff0c;希望能有…