Android 文件转语音TTS输出(文字转语音)

您所在的位置:网站首页 android主配置文件 Android 文件转语音TTS输出(文字转语音)

Android 文件转语音TTS输出(文字转语音)

2023-05-01 07:25| 来源: 网络整理| 查看: 265

一、介绍

目前国内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 */ @Override public 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需要使用文件操作权限

五、补充

第三方引擎APK,需要通过用户手动设置为默认TTS输出,否则不能使用。目前除了改framework层以外,Android上层没有办法修改第三方APK为默认的输出TTS应用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3