android 自动朗读,Android TextToSpeech多国语言自动朗读
实现的效果如下:
彩色圆角按钮的实现可以参考我的这篇文章http://blog.csdn.net/ldld1717/article/details/52314344
工程的结构见下图:
AutoSpeech.java代码见下:
package com.example.leidong.autospeech;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Locale;
public class AutoSpeech extends Activity {
TextToSpeech textToSpeech;
EditText editText;
//美式英语
Button english1;
//英式英语
Button english2;
//法语
Button french;
//德语
Button germany;
//意大利语
Button italian;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText = (EditText) findViewById(R.id.editText);
english1 = (Button) findViewById(R.id.english1);
english2 = (Button) findViewById(R.id.english2);
french = (Button) findViewById(R.id.french);
germany = (Button) findViewById(R.id.germany);
italian = (Button) findViewById(R.id.italian);
/**********************************************/
textToSpeech = new TextToSpeech(AutoSpeech.this,
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int i) {
//如果装载TTS引擎成功
if (i == TextToSpeech.SUCCESS) {
/*美式英语按钮监听*/
english1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//设置使用美式英语朗读
int result = textToSpeech.setLanguage(Locale.US);
//如果不支持所设置的语言
if ((result != textToSpeech.LANG_COUNTRY_AVAILABLE)
&& (result != TextToSpeech.LANG_AVAILABLE)) {
Toast.makeText(AutoSpeech.this, "暂时不支持这种语言的朗读", Toast.LENGTH_SHORT)
.show();
}
//执行朗读
textToSpeech.speak(editText.getText().toString(),
TextToSpeech.QUEUE_ADD, null);
}
});
/*英式英语按钮监听*/
english2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//设置使用英式英语朗读
int result = textToSpeech.setLanguage(Locale.UK);
//如果不支持所设置的语言
if ((result != textToSpeech.LANG_COUNTRY_AVAILABLE)
&& (result != TextToSpeech.LANG_AVAILABLE)) {
Toast.makeText(AutoSpeech.this, "暂时不支持这种语言的朗读", Toast.LENGTH_SHORT)
.show();
}
//执行朗读
textToSpeech.speak(editText.getText().toString(),
TextToSpeech.QUEUE_ADD, null);
}
});
/*法语按钮监听*/
french.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//设置使用法语朗读
int result = textToSpeech.setLanguage(Locale.FRANCE);
//如果不支持所设置的语言
if ((result != textToSpeech.LANG_COUNTRY_AVAILABLE)
&& (result != TextToSpeech.LANG_AVAILABLE)) {
Toast.makeText(AutoSpeech.this, "暂时不支持这种语言的朗读", Toast.LENGTH_SHORT)
.show();
}
//执行朗读
textToSpeech.speak(editText.getText().toString(),
TextToSpeech.QUEUE_ADD, null);
}
});
/*德语按钮监听*/
germany.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//设置使用德语朗读
int result = textToSpeech.setLanguage(Locale.GERMAN);
//如果不支持所设置的语言
if ((result != textToSpeech.LANG_COUNTRY_AVAILABLE)
&& (result != TextToSpeech.LANG_AVAILABLE)) {
Toast.makeText(AutoSpeech.this, "暂时不支持这种语言的朗读", Toast.LENGTH_SHORT)
.show();
}
//执行朗读
textToSpeech.speak(editText.getText().toString(),
TextToSpeech.QUEUE_ADD, null);
}
});
/*意大利语按钮监听*/
italian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//设置使用意大利语朗读
int result = textToSpeech.setLanguage(Locale.ITALIAN);
//如果不支持所设置的语言
if ((result != textToSpeech.LANG_COUNTRY_AVAILABLE)
&& (result != TextToSpeech.LANG_AVAILABLE)) {
Toast.makeText(AutoSpeech.this, "暂时不支持这种语言的朗读", Toast.LENGTH_SHORT)
.show();
}
//执行朗读
textToSpeech.speak(editText.getText().toString(),
TextToSpeech.QUEUE_ADD, null);
}
});
}
}
});
/**********************************************/
}
public void onDestroy(){
//关闭TextToSpeech对象
if(textToSpeech != null){
textToSpeech.shutdown();
}
}
}
layout中main.xml代码如下:
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#2B2B2B">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5pt"
android:layout_marginRight="5pt"
android:layout_marginTop="10pt"
android:text="请在下方输入需要朗读的句子:"
android:textSize="10pt"
android:textColor="#ff00cc"
android:textStyle="bold"
android:id="@+id/textView"
android:layout_gravity="center_horizontal" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10pt"
android:layout_marginRight="10pt"
android:layout_marginTop="10pt"
android:id="@+id/editText"
android:textSize="15pt"
android:textColor="#ffffff"
android:textStyle="italic"
android:singleLine="false"
android:layout_gravity="center_horizontal" />
android:id="@+id/english1"
android:layout_width="274dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25pt"
android:layout_marginTop="5pt"
android:text="美式英语朗读"
android:textSize="10pt"
android:background="@drawable/shape1" />
android:id="@+id/english2"
android:layout_width="274dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25pt"
android:layout_marginTop="10pt"
android:text="英式英语朗读"
android:textSize="10pt"
android:background="@drawable/shape2"/>
android:id="@+id/french"
android:layout_width="274dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25pt"
android:layout_marginTop="10pt"
android:text="法语朗读"
android:textSize="10pt"
android:background="@drawable/shape1"/>
android:id="@+id/germany"
android:layout_width="274dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25pt"
android:layout_marginTop="10pt"
android:text="德语朗读"
android:textSize="10pt"
android:background="@drawable/shape2"/>
android:id="@+id/italian"
android:layout_width="274dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25pt"
android:layout_marginTop="10pt"
android:text="意大利语朗读"
android:textSize="10pt"
android:background="@drawable/shape1"/>
android 自动朗读,Android TextToSpeech多国语言自动朗读相关推荐
- android代码打开语言和输入法设置,Android默认输入法勾选多国语言,并默许其中一种语言...
Android默认输入法勾选多国语言,并默认其中一种语言 1.首先在设备上调整输入法 设置>语言输入法>Android键盘(AOSP),在输入语言里勾选要选择的语言,比如选"英语 ...
- 离线翻译android开发,有道翻译官推出Android版 可离线翻译多国语言
日前,有道翻译官正式推出安卓版,凭借多国语言离线翻译和国内首创的多语种摄像头翻译等功能,为广大用户提供最便捷实用的翻译体验. 有道翻译官曾在iOS平台上大放异彩,上线当日,即取得了App Store ...
- c语言自动售货机实验报告,c语言自动售货机实验报告(15页)-原创力文档
课 程 设 计 课程名称C 语言高级程序设计 学院xxx 小组成员 1XXX 小组成员 2XXX 小组成员 3XXX 任课教师XXX 2016--2017学年第 1学期 所选题目与要求 自动售货机 问 ...
- 易语言晨风机器人源_易语言FQ自动聊天机器人源码,易语言自动聊天插件制作源码...
自动聊天插件制作易语言源码 系统结构:加入消息记录,智能处理消息,加载插件信息,保存词库,词库初始化,关键词查询,加载词库,初始化插件,加入命令,处理命令,取插件,调用插件,取插件信息,时间, === ...
- c语言自动售货机实验报告,c语言自动售货机实验报告
#includefloat M;//M为投入的钱数 int A=1,B=1,t; //A为数量标记,B为金钱标记,1表示有,0表示没有,t用于标记售货机是否能完成退款 int i,n,v=100; / ...
- android 文字选中朗读,Android开发之文本内容自动朗读功能实现方法
本文实例讲述了Android开发之文本内容自动朗读功能实现方法.分享给大家供大家参考,具体如下: Android提供了自动朗读支持.自动朗读支持可以对指定文本内容进行朗读,从而发生声音:不仅如此,An ...
- 详解Android SDK1.6中Text-To-Speech(TTS)语音朗读
TextToSpeech简称 TTS,是Android 1.6版本中比较重要的新功能.将所指定的文本转成不同语言音频输出.它可以方便的嵌入到游戏或者应用程序中,增强用户体验. 在讲解TTS API和将 ...
- Android应用开发提高篇(2)-----文本朗读TTS(TextToSpeech)
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/26/2368696.html 一.概述 TextToSpeech,就是将文本内容转换成语音,在其 ...
- android多国语言---简写对应国家code
android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):valu ...
- Android支持多国语言
1.如何让App支持多国语言的设置? 为了让以后方便代码的管理维护,推荐将一些尺寸,文字等都使用@string/xxx的引用方式. 为了达到目的,我们先需要知道国际中的各国语言和地区语言的简称,如最下 ...
最新文章
- android 情景感知 sdk,情景感知服务
- 微信js sdk 分享 失败 有时候好 有时候坏
- 为了OFFER | 腾讯2020校招后端《解压字符串》
- snmp v3 参数_snmp v3 配置
- 韦东山嵌入式第一期14课第004节_und异常模示程序示例_P笔记
- [开源]C#中开源软件大汇总(外国的)
- jquery 的animate 的transform
- BZOJ3251: 树上三角形
- halcon 旋转_Halcon视觉软件应该如何系统学习?
- 二级指针做输入_第2种内存模型
- Access denied for user 'root'@'192.168.64.154' (using password: YES)
- 计算机硬盘哪里找到相关信息,获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...
- 【笔记】Java如何判断是IDE启动还是jar启动
- MySQL基础知识思维导图大纲
- mastercam西门子840d后处理_西门子802D数控铣后处理程序
- windows的域和域林间的信任是如何工作的
- 双非普通一本大一学生学期末课设——运动会比赛计分系统
- 控件测试之单行文本框测试
- 计算机系统基础实验:二进制拆弹实验
- unity3D游戏开发实战原创视频讲座系列13之帽子戏法游戏开发(预告)