如何让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
分享到:
相关推荐
在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为自然语言的语音输出。这个“Android TextToSpeech语音播放文本”主题主要关注如何在Android应用中实现这一特性,帮助用户以语音...
本篇文章将详细讲解如何在Android应用中使用`TextToSpeech`类进行简单的文字转语音操作。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限声明,以允许应用使用TTS服务: ```xml <uses-permission ...
使用`TextToSpeech`类初始化TTS引擎,传入上下文和一个实现了`TextToSpeech.OnInitListener`接口的回调对象。在回调的`onInit()`方法中,可以判断初始化是否成功并进行后续操作。 4. **合成文本** 要让TTS引擎...
在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为语音输出,使得用户可以听到程序中的文字信息,尤其适用于无障碍服务或者教育应用。本资源提供了一个利用Android自带的TextTo...
总的来说,Android的TextToSpeech API为开发者提供了简单易用的接口,使得在应用中实现文本转语音功能变得轻而易举。通过深入了解和实践,我们可以利用这些工具创建出更加丰富多样的用户体验。在EX07_18这样的练习...
本文将深入探讨如何利用科大讯飞的离线引擎实现TextToSpeech功能,并通过一个实际的例子来说明其工作原理。 首先,我们要明白TextToSpeech(TTS)系统的基本工作流程。它主要负责将输入的文本转换为可听见的语音...
TextToSpeech是Android系统提供的一个用于将文本转换成语音输出的API。通过这个服务,开发者可以在应用程序中轻松地实现文本到语音的转换。然而,需要注意的是,虽然Android的TTS支持多种语言,但默认情况下并不包含...
TextToSpeech tts = new TextToSpeech(context, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { int result = tts.setLanguage...
React Native Android Text To Speech 用于 Text To Speech 的 React Native android 包装器 目的 目前,React Native 没有对 Android 的 TextToSpeech 库的内置支持。 但是在 react-native 中暴露模块的帮助下,这...
在Android中使用TTS,首先需要创建一个`TextToSpeech`对象,并通过`init`方法初始化。此过程通常在Activity的`onCreate`或`onResume`方法中进行,并需要传递Context和一个Listener来处理初始化的结果。 ```java ...
总的来说,flutter_text_to_speech库为Flutter开发者提供了一个简单而强大的工具,使他们能够快速地实现文本到语音的功能。通过深入理解这个库的API和用法,开发者可以创建出更加互动和包容的跨平台应用程序。
TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 初始化成功,可以开始使用...
总的来说,Android的TextToSpeech API为开发者提供了一种简单而强大的方式来实现文本到语音的转换。通过学习和实践这个示例,你可以掌握TTS的基本用法,为你的应用添加语音输出功能,提升用户体验。
要使用TTS,首先需要在应用中初始化`TextToSpeech`对象,并设置一个回调接口用于处理TTS事件。以下是一个简单的初始化示例: ```java TextToSpeech textToSpeech = new TextToSpeech(context, new TextToSpeech....
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e("TTS", "不支持的语言"); } else { btnSpeak.setOnClickListener(new View.OnClickListener() { @...
总之,Android的文字转语音功能通过`TextToSpeech`类和相关的接口实现,开发者可以通过简单的API调用来让应用“说话”。结合第三方引擎,可以提供更个性化的语音体验。在实际项目中,理解并掌握这些知识点,将有助于...
TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 初始化成功,可以调用speak...
【描述】中的“Flutter专案,使用Google Cloud Text to Speech API通过REST API综合测试”说明项目不仅涉及到了Flutter的客户端开发,还涉及到后端服务的交互。Google Cloud Text to Speech API是一个强大的服务,它...