Android 文件转语音TTS输出(文字转语音)
一、介绍
目前国内Android系统自带语音引擎基本上都是Pico TTS,Pico TTS不支持中文转语音播报。因为项目需要播放中文,引入科大讯飞引擎3.0.apk。
二、配置
下载好科大讯飞语音引擎3.0.apk(若是下载小爱,小度等其他引擎也可以),安装成功之后,进入系统设置—>语言输入法设置—>文字转语音(TTS)输出—>选择科大讯飞语音引擎(选择你下载的引擎)。
三、使用
代码很简单,注释很详细,废话不多说,直接上工具类。
package com.welbell.temperature.type.ui;import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.util.Log;import java.util.Locale;public class VoiceAnnouncements implements TextToSpeech.OnInitListener {private static final String TAG = VoiceAnnouncements.class.getName();public static VoiceAnnouncements mVoiceAnnouncements;private TextToSpeech mTextToSpeech;public static VoiceAnnouncements getInstance() {synchronized (VoiceAnnouncements.class) {if (mVoiceAnnouncements == null) {mVoiceAnnouncements = new VoiceAnnouncements();}}return mVoiceAnnouncements;}public void init(Context context) {mTextToSpeech = new TextToSpeech(context, this);}/*** 设置语音播放参数(设置-1将不起作用)** @param pitch 音调* @param speechRate 语速*/public void setParameter(float pitch, float speechRate) {if (mTextToSpeech == null) {return;}if (pitch != -1)//设置音调mTextToSpeech.setPitch(pitch);if (speechRate != -1)//设置语速,1.0为正常语速mTextToSpeech.setSpeechRate(speechRate);}/*** 设置播放内容* 播放语音前需要等初始化成功之后 * @param isCover 是否覆盖式播放* @param text 播放的内容*/public void speak(boolean isCover,String text){if (isCover){mTextToSpeech.stop();}mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null);}/*** 回调函数* @param status*/@Overridepublic void onInit(int status) {//设置朗读语言int supported = mTextToSpeech.setLanguage(Locale.SIMPLIFIED_CHINESE);if ((supported != TextToSpeech.LANG_AVAILABLE) && (supported != TextToSpeech.LANG_COUNTRY_AVAILABLE)) {Log.e(TAG, "onInit: 不支持当前语言");}}
}
四、权限
TTS需要使用文件操作权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 外部存储读权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 外部存储写权限 -->
五、补充
第三方引擎APK,需要通过用户手动设置为默认TTS输出,否则不能使用。目前除了改framework层以外,Android上层没有办法修改第三方APK为默认的输出TTS应用。
Android 文件转语音TTS输出(文字转语音)相关推荐
- Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)
需要源码请点赞关注收藏后评论区留下QQ~~~ 一.系统自带的语音引擎 语音播报的本质是将书面文字转换成自然语言的音频流,这个转换操作被称作语音合成,又称TTS(从文本到语音)在转换过程中,为了避免机械 ...
- 口播神器,基于Edge,微软TTS(text-to-speech)文字转语音免费开源库edge-tts实践(Python3.10)
不能否认,微软Azure在TTS(text-to-speech文字转语音)这个人工智能细分领域的影响力是统治级的,一如ChatGPT在NLP领域的随心所欲,予取予求.君不见几乎所有的抖音营销号口播均采 ...
- html5d调用百度语音,易语言调用百度语音平台实现文字转换语音功能的代码
调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http:// ...
- 【微信小程序】语音播报,文字转语音,使用《微信同声传译插件》
需要实现的功能是: 输入一段文字,由小程序读出来 步骤如下: 一.小程序添加 "微信同声传译" 插件 添加插件步骤看这篇博===>如何添加插件并配置 二.代码编写 index ...
- 【vue 语音播报(文字转语音)】
vue 语音播报(文字转语音) 1.安装speak-tts包 npm install speak-tts 2.在页面中引入 import Speech from 'speak-tts' 3.初始化以及 ...
- 语音计算机管家,文字转语音软件管家 免费版
文字转语音软件管家由华军小编为你搜集整理,"文字转语音软件管家"致力于向您提供最高品质的语音角色,助您轻松制作各类真人语音资料.语音广告.有需要下载使用文字转语音软件管家的小伙伴们 ...
- Android TTS 中文 文字转语音 使用TextToSpeech Svox .
Android默认没有安装TTS数据包,无法文字转语音,而在设置里推荐的语音包是Pico TTS,并不支持中文,如果需要读中文,需要下载另外的第三方语音包,如:eSpeak,Svox,个人建议Svox ...
- Android TTS 中文 文字转语音 使用TextToSpeech Svox
Android默认没有安装TTS数据包,无法文字转语音,而在设置里推荐的语音包是Pico TTS,并不支持中文,如果需要读中文,需要下载另外的第三方语音包,如:eSpeak,Svox,个人建议Svox ...
- android 语音提醒,文字转语音播放
android本身具有文字转语音播放的TTS,一些第三方的sdk,像百度语音,科大讯飞语音等等都提供了文字转语音播放的功能,但这些第三方sdk大都收费,还挺贵的. 这里推荐两种方法:1.android ...
最新文章
- AI一分钟 | 英伟达发布最强核弹—无人车AI芯片DRIVE Xavier;百度硅谷首次开放无人车试乘:上车前要先签免责书
- R语言笔记5:控制结构
- 《预训练周刊》第19期:歧义短语的类量子语境性研究、自然语言处理中prompt方法的系统综述...
- LeetCode:198:打家劫舍
- python中可选参数的特征_sklearn特征选择方法及参数
- 1.2.3 Using Option Files
- 悄悄地进村,打枪的不要——KyuuBackground(原 ItaBackgroundKyuu)改造完成
- 日常((⊙_⊙)…)
- 输入特定字符和只能输入数字。
- syslog(),openlog(),closelog()
- ElasticSearch 集群监控
- glEnable(GL_DEPTH_TEST)作用
- 黑苹果 惠普笔记本电池补丁_黑苹果笔记本:关于DSDT亮度表的分析与修改
- bouncing results问题
- STM32加密保护工具 | STM32Trust介绍、解决方案
- centos虚拟机调皮了
- Dojo 1.5 发布说明
- lg显示器工厂模式怎么进入_LG液晶显示器进入工厂模式方法.概要
- ACM-ICPC 2018 南京赛区网络预赛(ABCDEFGHIJKL所有题题解大全)
- 如何添加URL服务器到站点,当URL来自互联网服务器时,如何将自定义css...
热门文章
- DISC个性测验(转载)
- 正割、余割、正弦、余弦、正切、余切之间的关系的公式 sec、csc与sin、cos、tan、cot之间的各种公式...
- 经济金融投资计量与数据分析Python应用
- 可达性分析算法与强弱引用
- 内网渗透之mimikatz+procdump 提取 Windows 明文密码
- EDEM入门学习教程—界面介绍
- 约瑟夫环(循环链表)
- 用Qt编写STM32烧录软件(ISP模式)
- 数据手册中最小值、最大值、典型值三者之间的关系
- 已知由一个线性链表表示的线性表中含有 3 类字符的数据元素(如:字母,数字和其他字符),试编写算法将该线性链表分割为 3 个循环链表,其中每个循环链表均只含有一类字符。