`
zx012345
  • 浏览: 133703 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android TTS 的开发

阅读更多
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 楼 ikrboy 2013-03-31  
请注明setOnUtteranceCompletedListener在init()方法中加载

相关推荐

    android TTS语音引擎包

    1. **度秘TTS**:度秘是百度公司开发的一款智能语音服务,其3.0版本在TTS方面具有较高的语音质量和流畅度。它提供了多种发音人选择,可以模拟不同性别、年龄的声音,并支持自定义语速、音调和音量。在Android应用中...

    Android-tts.rar_android_android TTS_tts_tts Android_语音 tts

    在Android应用开发中,TTS功能广泛应用于各种场景,如阅读电子书、导航、辅助视障用户等。本资料主要探讨了如何在Android平台上实现TTS功能,特别是支持英法德意西五种语言的转换。 首先,要使用Android TTS,...

    AndroidTTS文本转语音

    Android TTS(Text-to-Speech)是Android操作系统中的一项服务,允许应用程序将文本转换成语音输出,用户无需手动输入...在实际开发过程中,要注意处理好TTS的初始化、状态管理和资源释放,确保其稳定、高效地运行。

    Android TTS实现简单阅读器

    Android TTS实现简单阅读器是开发者利用此技术构建的一个应用示例,旨在帮助用户理解如何在Android应用程序中集成TTS,以便为用户提供读出屏幕上的文字信息的能力。以下将详细介绍Android TTS的工作原理、实现步骤...

    基于百度TtsSDK开发的Tts引擎,可以直接调用Android系统tts接口来进行语音合成

    基于百度TtsSDK开发的Tts引擎,可以直接调用Android系统tts接口来进行语音合成。 主要包括三块: - com.ishare.bdtts包:利用百度Tts SDK来进行tts合成。 - com.ishare.speech包:利用Android系统tts接口来进行tts...

    android studio tts 离线中文语音播放

    在Android开发中,Text-to-Speech (TTS) 技术是将文本转换为语音输出的重要功能,尤其适用于辅助视力障碍者或者在驾驶等不便查看屏幕的场景。本主题聚焦于如何在Android Studio中实现离线中文语音播放,支持男声和...

    Android-一个基于Java的粤语发音TTS文字转语音.

    在Android开发中,TTS服务是通过Android SDK提供的TextToSpeech类来实现的。这个类提供了初始化、设置发音参数、合成并播放语音等一系列方法。开发者需要首先在应用中初始化TextToSpeech对象,然后注册监听器来处理...

    tts.rar_TTS java_android TTS_google GetSampleText_tts android_中

    在Android开发中,TTS是用于将文本转换为可听见的语音输出的重要工具,特别适用于视力障碍用户或者在驾驶、做家务等场景下需要免手持操作的用户。使用Java语言实现TTS,开发者可以创建一个能够读出屏幕上文字的应用...

    免费下载 android tts语音包 TTS_library_stub_3.0_market.jar

    用于Android开发中基础的语音开发包

    基于百度TtsSDK开发的Tts引擎,可以直接调用Android系统tts接口来进行语音合成.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    android TTS jar

    在Android开发中,TTS常用于读出通知、帮助视障用户或者提供语言学习等场景。 标题中的“android TTS jar”指的是一个特定的jar文件,可能包含了一个定制或者优化过的TTS引擎,以解决原生Android TTS在处理中文阅读...

    android中文语音tts

    在Android应用开发中,可以利用Samsung的TTS引擎来创建功能丰富的中文语音阅读器,读取并播放TXT文本文件的内容。 要实现这样的功能,开发者首先需要在Android项目中集成Samsung的TTS引擎库。这通常涉及在build....

    Android TTS 文字转语音实例

    在Android开发中,Text To Speech(TTS)技术是一种将文本转换为语音的实用功能,广泛应用于各种场景,如辅助视障用户、儿童学习、智能助手等。Android Studio提供了内置的TTS API,使得开发者可以轻松地在应用程序...

    android tts示例

    在Android应用开发中,TTS技术常用于帮助视障用户或者在驾驶、烹饪等不便查看屏幕的情况下提供语音反馈。下面将详细解释如何在Android应用中集成和使用TTS。 1. **初始化TTS引擎** 在Android应用中使用TTS,首先...

    android_tts_离线语音demo包文字转语音

    android_tts_离线语音demo包文字转语音。 不依赖于手机的tts,及时手机没有安装tts,也可以运行。 成功的将文字转成语音,可以切换声音,调整语速。 尚存一个小问题,英文单词不认识了,读成了一个个字母。欢迎高人...

    delphi_xe5_android_tts(Text_To_Speech).ZIP

    标题 "delphi_xe5_android_tts(Text_To_Speech).ZIP" 暗示这是一个使用Embarcadero Delphi XE5开发的项目,专注于在Android平台上实现文本转语音(TTS,Text-to-Speech)功能。Delphi是面向对象的 Pascal 编程语言的...

    Android TTs 文本转语音朗读源码

    Android的文本转语音(Text-to-Speech,简称TTS)技术是一种将文本数据转换为可听见的语音输出的系统,广泛应用于各种应用...同时,源码中可能还包含了错误处理、多线程操作等实践,对于提升Android开发技能大有裨益。

    android tts 中文转语音

    Android TTS(Text-to-Speech)是Android系统提供的一个服务,允许应用程序将文本转换为语音输出。这个功能在很多场景下都非常有用,比如辅助阅读、导航提示或者为视力障碍者提供帮助。在Android平台上实现中文转...

    AndroidTTSDemoFirst

    7. **错误处理**:在实际开发中,必须处理可能发生的错误,比如TTS引擎未安装、语言不支持等情况,确保应用的健壮性。 通过AndroidTTSDemoFirst项目,开发者可以学习到如何在实际应用中集成这些功能,创建一个能够...

    Android-SMS.rar_android_android sms_android tts SMS_android 短信_s

    下面我们将详细探讨Android SMS服务和TTS(Text-to-Speech)技术在Android开发中的应用。 一、Android SMS服务 1. **SMSManager**: Android系统提供了`SMSManager`类,用于发送和接收短信。开发者可以通过`...

Global site tag (gtag.js) - Google Analytics