1、首先要tts是否有所需语言的语音数据,如果没有需安装它
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
private TextToSpeech mTts;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
} else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
2、设置地区(语言)
mTts.setLanguage(Locale.US);
3、判断是否支持某地区的语言
mTts.isLanguageAvailable(Locale.FRANCE))
或
mTts.isLanguageAvailable(new Locale("spa", "ESP")))
或
mTts.isLanguageAvailable(new Locale("spa"))
如果没有语言数据,会返回TextToSpeech.LANG_MISSING_DATA,否则返回ACTION_CHECK_TTS_DATA
4、处理发音
String myText1 = "Did you sleep well?";
String myText2 = "I hope so, because it's time to wake up.";
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, null);
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, null);
5、加参数
HashMap<String, String> myHashAlarm = new HashMap();
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm);
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);
6、加完成监听
mTts.setOnUtteranceCompletedListener(this);
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, myHashAlarm);
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "end of wakeup message ID");
// myHashAlarm now contains two optional parameters
mTts.speak(myText2, TextToSpeech.QUEUE_ADD, myHashAlarm);
public void onUtteranceCompleted(String uttId) {
if (uttId == "end of wakeup message ID") {
playAnnoyingMusic();
}
}
7、将发音录入文件
HashMap<String, String> myHashRender = new HashMap();
String wakeUpText = "Are you up yet?";
String destFileName = "/sdcard/myAppCache/wakeUp.wav";
myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, wakeUpText);
mTts.addSpeech(wakeUpText, destFileName);
mTts.speak(wakeUpText, TextToSpeech.QUEUE_ADD, myHashAlarm);
8、关闭tts
mTts.shutdown();
mTts.synthesizeToFile(wakuUpText, myHashRender, destFileName);
分享到:
相关推荐
1. **度秘TTS**:度秘是百度公司开发的一款智能语音服务,其3.0版本在TTS方面具有较高的语音质量和流畅度。它提供了多种发音人选择,可以模拟不同性别、年龄的声音,并支持自定义语速、音调和音量。在Android应用中...
在Android应用开发中,TTS功能广泛应用于各种场景,如阅读电子书、导航、辅助视障用户等。本资料主要探讨了如何在Android平台上实现TTS功能,特别是支持英法德意西五种语言的转换。 首先,要使用Android TTS,...
Android TTS(Text-to-Speech)是Android操作系统中的一项服务,允许应用程序将文本转换成语音输出,用户无需手动输入...在实际开发过程中,要注意处理好TTS的初始化、状态管理和资源释放,确保其稳定、高效地运行。
Android TTS实现简单阅读器是开发者利用此技术构建的一个应用示例,旨在帮助用户理解如何在Android应用程序中集成TTS,以便为用户提供读出屏幕上的文字信息的能力。以下将详细介绍Android TTS的工作原理、实现步骤...
基于百度TtsSDK开发的Tts引擎,可以直接调用Android系统tts接口来进行语音合成。 主要包括三块: - com.ishare.bdtts包:利用百度Tts SDK来进行tts合成。 - com.ishare.speech包:利用Android系统tts接口来进行tts...
在Android开发中,Text-to-Speech (TTS) 技术是将文本转换为语音输出的重要功能,尤其适用于辅助视力障碍者或者在驾驶等不便查看屏幕的场景。本主题聚焦于如何在Android Studio中实现离线中文语音播放,支持男声和...
在Android开发中,TTS服务是通过Android SDK提供的TextToSpeech类来实现的。这个类提供了初始化、设置发音参数、合成并播放语音等一系列方法。开发者需要首先在应用中初始化TextToSpeech对象,然后注册监听器来处理...
在Android开发中,TTS是用于将文本转换为可听见的语音输出的重要工具,特别适用于视力障碍用户或者在驾驶、做家务等场景下需要免手持操作的用户。使用Java语言实现TTS,开发者可以创建一个能够读出屏幕上文字的应用...
用于Android开发中基础的语音开发包
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
在Android开发中,TTS常用于读出通知、帮助视障用户或者提供语言学习等场景。 标题中的“android TTS jar”指的是一个特定的jar文件,可能包含了一个定制或者优化过的TTS引擎,以解决原生Android TTS在处理中文阅读...
在Android应用开发中,可以利用Samsung的TTS引擎来创建功能丰富的中文语音阅读器,读取并播放TXT文本文件的内容。 要实现这样的功能,开发者首先需要在Android项目中集成Samsung的TTS引擎库。这通常涉及在build....
在Android开发中,Text To Speech(TTS)技术是一种将文本转换为语音的实用功能,广泛应用于各种场景,如辅助视障用户、儿童学习、智能助手等。Android Studio提供了内置的TTS API,使得开发者可以轻松地在应用程序...
在Android应用开发中,TTS技术常用于帮助视障用户或者在驾驶、烹饪等不便查看屏幕的情况下提供语音反馈。下面将详细解释如何在Android应用中集成和使用TTS。 1. **初始化TTS引擎** 在Android应用中使用TTS,首先...
android_tts_离线语音demo包文字转语音。 不依赖于手机的tts,及时手机没有安装tts,也可以运行。 成功的将文字转成语音,可以切换声音,调整语速。 尚存一个小问题,英文单词不认识了,读成了一个个字母。欢迎高人...
标题 "delphi_xe5_android_tts(Text_To_Speech).ZIP" 暗示这是一个使用Embarcadero Delphi XE5开发的项目,专注于在Android平台上实现文本转语音(TTS,Text-to-Speech)功能。Delphi是面向对象的 Pascal 编程语言的...
Android的文本转语音(Text-to-Speech,简称TTS)技术是一种将文本数据转换为可听见的语音输出的系统,广泛应用于各种应用...同时,源码中可能还包含了错误处理、多线程操作等实践,对于提升Android开发技能大有裨益。
Android TTS(Text-to-Speech)是Android系统提供的一个服务,允许应用程序将文本转换为语音输出。这个功能在很多场景下都非常有用,比如辅助阅读、导航提示或者为视力障碍者提供帮助。在Android平台上实现中文转...
7. **错误处理**:在实际开发中,必须处理可能发生的错误,比如TTS引擎未安装、语言不支持等情况,确保应用的健壮性。 通过AndroidTTSDemoFirst项目,开发者可以学习到如何在实际应用中集成这些功能,创建一个能够...
下面我们将详细探讨Android SMS服务和TTS(Text-to-Speech)技术在Android开发中的应用。 一、Android SMS服务 1. **SMSManager**: Android系统提供了`SMSManager`类,用于发送和接收短信。开发者可以通过`...