`
wangleyiang
  • 浏览: 220869 次
社区版块
存档分类
最新评论

Android TextToSpeech简单使用

阅读更多

    如何让Android手机读取文本呢?Android SDK为开发者提供了TTS技术,开发者只需要做简单的调用就可以完成让Android读取文本的功能。

    示例的功能是点击按钮后,朗读TextVeiw中的文本,UI如下:



     对TextToSpeech的实例添加OnInitListener()和OnUtteranceCompletedListener()来实现对TTS状态的监听,并在需要时,添加自己的逻辑代码。这个功能的核心代码如下:

package com.anhuioss.tts;

import java.util.Locale;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class TTSActivity extends Activity implements OnClickListener, OnInitListener {
	
	Button speechButton;
	TextView speechText;
	
	TextToSpeech textToSpeech;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        speechButton = (Button) findViewById(R.id.button1);
        speechText = (TextView) findViewById(R.id.textView1);
        
        speechButton.setOnClickListener(this);
        
        textToSpeech = new TextToSpeech(this, this);
        
    }

	@Override
	public void onClick(View v) {
		if (textToSpeech != null && !textToSpeech.isSpeaking()) {
			textToSpeech.speak(speechText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
		}
	}

	@Override
	public void onInit(int status) {
		if (status == TextToSpeech.SUCCESS) {
			int result = textToSpeech.setLanguage(Locale.US);
			if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
				Toast.makeText(this, "Denotes the language data is missing or the language is not supported.", Toast.LENGTH_SHORT).show();
			}
		}
	}
	
	@Override
	protected void onStop() {
		super.onStop();
		textToSpeech.stop();
		textToSpeech.shutdown();
	}
	
} 

    希望对你有所帮助,如需代码,请点击此处!=^_^=

    参考:http://developer.android.com/reference/android/speech/tts/TextToSpeech.html

  • 大小: 16.6 KB
  • TTS.zip (51.6 KB)
  • 下载次数: 11
分享到:
评论

相关推荐

    Android TextToSpeech语音播放文本

    在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为自然语言的语音输出。这个“Android TextToSpeech语音播放文本”主题主要关注如何在Android应用中实现这一特性,帮助用户以语音...

    文字转化为语音Android中TextToSpeech类的简单使用

    本篇文章将详细讲解如何在Android应用中使用`TextToSpeech`类进行简单的文字转语音操作。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限声明,以允许应用使用TTS服务: ```xml <uses-permission ...

    android text to speech

    使用`TextToSpeech`类初始化TTS引擎,传入上下文和一个实现了`TextToSpeech.OnInitListener`接口的回调对象。在回调的`onInit()`方法中,可以判断初始化是否成功并进行后续操作。 4. **合成文本** 要让TTS引擎...

    Android中使用自带TextToSpeech实现离线语音合成功能工具类.rar

    在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为语音输出,使得用户可以听到程序中的文字信息,尤其适用于无障碍服务或者教育应用。本资源提供了一个利用Android自带的TextTo...

    TextToSpeech

    总的来说,Android的TextToSpeech API为开发者提供了简单易用的接口,使得在应用中实现文本转语音功能变得轻而易举。通过深入了解和实践,我们可以利用这些工具创建出更加丰富多样的用户体验。在EX07_18这样的练习...

    TextToSpeech,离线语音合成,使用科大讯飞离线引擎,不需要联网

    本文将深入探讨如何利用科大讯飞的离线引擎实现TextToSpeech功能,并通过一个实际的例子来说明其工作原理。 首先,我们要明白TextToSpeech(TTS)系统的基本工作流程。它主要负责将输入的文本转换为可听见的语音...

    基于安卓原生的TextToSpeech和讯飞API实现的语音播报

    TextToSpeech是Android系统提供的一个用于将文本转换成语音输出的API。通过这个服务,开发者可以在应用程序中轻松地实现文本到语音的转换。然而,需要注意的是,虽然Android的TTS支持多种语言,但默认情况下并不包含...

    android TextSpeech语音朗读

    TextToSpeech tts = new TextToSpeech(context, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { int result = tts.setLanguage...

    这个用于 Android Text To Speech 功能的简单 React Native 模块。

    React Native Android Text To Speech 用于 Text To Speech 的 React Native android 包装器 目的 目前,React Native 没有对 Android 的 TextToSpeech 库的内置支持。 但是在 react-native 中暴露模块的帮助下,这...

    android关于 text_to_speach的使用(tts)

    在Android中使用TTS,首先需要创建一个`TextToSpeech`对象,并通过`init`方法初始化。此过程通常在Activity的`onCreate`或`onResume`方法中进行,并需要传递Context和一个Listener来处理初始化的结果。 ```java ...

    flutter_text_to_speech,用于颤振的文本到语音.zip

    总的来说,flutter_text_to_speech库为Flutter开发者提供了一个简单而强大的工具,使他们能够快速地实现文本到语音的功能。通过深入理解这个库的API和用法,开发者可以创建出更加互动和包容的跨平台应用程序。

    Android 调用安卓自带文本朗读-IT计算机-毕业设计.zip

    TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 初始化成功,可以开始使用...

    Android 原生TTS示例

    总的来说,Android的TextToSpeech API为开发者提供了一种简单而强大的方式来实现文本到语音的转换。通过学习和实践这个示例,你可以掌握TTS的基本用法,为你的应用添加语音输出功能,提升用户体验。

    Android高级应用源码-调用安卓自带文本朗读.zip

    要使用TTS,首先需要在应用中初始化`TextToSpeech`对象,并设置一个回调接口用于处理TTS事件。以下是一个简单的初始化示例: ```java TextToSpeech textToSpeech = new TextToSpeech(context, new TextToSpeech....

    Android TTS 文字转语音实例

    if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e("TTS", "不支持的语言"); } else { btnSpeak.setOnClickListener(new View.OnClickListener() { @...

    android 文字转语音程序

    总之,Android的文字转语音功能通过`TextToSpeech`类和相关的接口实现,开发者可以通过简单的API调用来让应用“说话”。结合第三方引擎,可以提供更个性化的语音体验。在实际项目中,理解并掌握这些知识点,将有助于...

    安卓Android源码——调用安卓自带文本朗读.zip

    TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 初始化成功,可以调用speak...

    flutter_cloud_text_to_speech:Flutter专案,使用Google Cloud Text to Speech API通过REST API综合测试

    【描述】中的“Flutter专案,使用Google Cloud Text to Speech API通过REST API综合测试”说明项目不仅涉及到了Flutter的客户端开发,还涉及到后端服务的交互。Google Cloud Text to Speech API是一个强大的服务,它...

Global site tag (gtag.js) - Google Analytics