Android TTS文本转语音TextToSpeech

Android 系统里内置了PicoTTS,对中文的支持很不给力。但是我们可以安装“讯飞语记”TTS,中文就不是问题了。
首先介绍下核心方法speak()及其参数

public int speak(final String text, final int queueMode, final HashMap<String, String> params) {  return runAction(new Action<Integer>()  

text 需要转成语音的文字
queueMode 队列方式:
QUEUE_ADD:播放完之前的语音任务后才播报本次内容
QUEUE_FLUSH:丢弃之前的播报任务,立即播报本次内容
params 设置TTS参数,可以是null。
KEY_PARAM_STREAM:音频通道,可以是:STREAM_MUSIC、STREAM_NOTIFICATION、STREAM_RING等
KEY_PARAM_VOLUME:音量大小,0-1f
返回值:int SUCCESS = 0,int ERROR = -1。

以下是Demo代码

package com.interjoy.demoqrcode;import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import java.util.Locale;public class MainActivity extends AppCompatActivity {private Button btn_to_speak;private TextToSpeech mSpeech;private EditText et_input;private static final String TAG_TTS = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}private <T> T f(int resId) {return (T) findViewById(resId);}private void init() {btn_to_speak = f(R.id.btn_to_speak);et_input = f(R.id.et_input);speechInit();btn_to_speak.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String text = et_input.getText().toString();if (TextUtils.isEmpty(text)) text = "请输入要测试的内容";playTTS(text);}});}/*** 初始化TextToSpeech,在onCreate中调用*/private void speechInit() {if (mSpeech != null) {mSpeech.stop();mSpeech.shutdown();mSpeech = null;}// 创建TTS对象mSpeech = new TextToSpeech(MainActivity.this, new TTSListener());}/*** 将文本用TTS播放** @param str 播放的文本内容*/private void playTTS(String str) {if (mSpeech == null) mSpeech = new TextToSpeech(this, new TTSListener());mSpeech.speak(str, TextToSpeech.QUEUE_FLUSH, null);Log.i(TAG_TTS, "播放语音为:" + str);}private final class TTSListener implements TextToSpeech.OnInitListener {@Overridepublic void onInit(int status) {Log.e(TAG_TTS, "初始化结果:" + (status == TextToSpeech.SUCCESS));int result = mSpeech.setLanguage(Locale.CHINESE);//如果返回值为-2,说明不支持这种语言Log.e(TAG_TTS, "是否支持该语言:" + (result != TextToSpeech.LANG_NOT_SUPPORTED));}}@Overrideprotected void onDestroy() {if (mSpeech != null) {mSpeech.stop();mSpeech.shutdown();mSpeech = null;}super.onDestroy();}
}

注意:1.安装讯飞语记之后,需要设置为把它设置为默认TTS,就像安装搜狗输入法后要设置手机输入法默认为搜狗才能用一样。我使用华为荣耀5A具体设置步骤:设置->辅助功能->文字转语音(TTS)输出->讯飞语记

这里写图片描述

2.不用时需要及时关闭释放tts对象 mSpeech.shutdown();

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

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

相关文章

android通过百度语音合成实现文字转换成语音(TTS)详细教程?

android实现百度语音合成 1.使用TextToSpeech朗读文字2.百度语音合成1.创建应用1.在百度开发者平台实现注册&#xff0c;并进行实名认证2.点击语音技术3.点击创建应用4.创建细节5.领取语音合成次数 2.添加文件1.在lib中添加如图文件2.添加jniLibs文件夹3.添加assets文件(重点&a…

Android文字转语音播报

文章目录 前言一、实现方式1.Android系统自带TTS2.第三方语音框架&#xff1a;云知声离线语音(32位&#xff1a;armeabi-v7a)、... 二、Android系统自带TTS1.集成工具类TextToSpeechUtils2.初始化和调用3.需要的支持中文语音引擎 三、第三方语音框架&#xff08;云知声离线语音…

安卓文字转语音——其实可以很简单——TextToSpeech用法解析

前言 很多时候我们会碰到文字转语音的需求&#xff0c;使用第三方sdk是个不错的选择&#xff0c;其实也可以更简单&#xff0c;安卓原生就提供了一个类处理这个事务。TextToSpeech无需集成&#xff0c;直接使用 局限 支持22种语言&#xff0c;不过中文支持并不很好&#xff…

Android通过TextToSpeech实现文字转语音

一、直接上代码&#xff1a; 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.widge…

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…