手说TTS介绍:

手说TTS,是Android平台下的中文语音引擎,提供了中文文本到语音的转换。

使用手说TTS进行中文文本的朗读,包括中文简繁体、阿拉伯数字、英文字母及一些符号的混读。并且处理了中文的多音字和音调转换等问题。

开发人员可以使用手说TTS来开发Android平台下需要中文语音的应用程序。

实例代码开发准备:

第一步:安装手说TTS安装包

安装到真实手机或者手机模拟器中。(如果不安装shoushouTTS.apk文件,就进行功能代码编写肯定会报错,记住:第一步先安装shuoshouTTS.apk)

第二步:下载手说TTS客户类库包

将该jar文件引入到你的应用中。

废话不多说,直接上源码:

布局文件:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/edtSpeectText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="太阳从东边升起,慢慢的露出红彤彤的笑脸。" />

android:id="@+id/btnSpeechGo"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="speechText"

android:text="开始朗读" />

核心功能代码文件:

package com.shoushuo.voicebroadcast;

import com.shoushuo.android.tts.ITts;

import com.shoushuo.android.tts.ITtsCallback;

import android.os.Bundle;

import android.os.Handler;

import android.os.IBinder;

import android.os.Message;

import android.os.RemoteException;

import android.speech.tts.TextToSpeech;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import android.app.Activity;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.ServiceConnection;

public class MainActivity extends Activity {

private EditText edtSpeectText;

private Button btnSpeechGo;

private Context context;

private ITts ttsService;

private boolean ttsBound;

/**

* 定义Handler.

*/

private final Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

Toast.makeText(context, " 我的话说完了 ", Toast.LENGTH_SHORT).show();

btnSpeechGo.setEnabled(true);

}

};

/**

* 回调参数.

*/

private final ITtsCallback ttsCallback = new ITtsCallback.Stub() {

// 朗读完毕.

@Override

public void speakCompleted() throws RemoteException {

handler.sendEmptyMessage(0);

}

};

/**

* tts服务连接.

*/

private final ServiceConnection ttsConnection = new ServiceConnection() {

@Override

public void onServiceDisconnected(ComponentName arg0) {

try {

// 注册回调参数

ttsService.unregisterCallback(ttsCallback);

} catch (RemoteException e) {

e.printStackTrace();

}

ttsService = null;

ttsBound = false;

}

@Override

public void onServiceConnected(ComponentName name, IBinder service) {

ttsService = ITts.Stub.asInterface(service);

ttsBound = true;

try {

// tts服务初始化

ttsService.initialize();

// 撤销回调参数.

ttsService.registerCallback(ttsCallback);

} catch (RemoteException e) {

}

}

};

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

context = this;

edtSpeectText = (EditText) findViewById(R.id.edtSpeectText);

btnSpeechGo = (Button) findViewById(R.id.btnSpeechGo);

btnSpeechGo.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

speechText();

}

});

}

/**

* 按钮:朗读.

*

* @param v

*/

public void speechText() {

try {

ttsService.speak(edtSpeectText.getText().toString(),

TextToSpeech.QUEUE_FLUSH);

} catch (RemoteException e) {

e.printStackTrace();

}

}

@Override

protected void onDestroy() {

if (ttsBound) {

ttsBound = false;

// 撤销tts服务

this.unbindService(ttsConnection);

}

super.onDestroy();

}

@Override

protected void onStart() {

super.onStart();

if (!ttsBound) {

String actionName = "com.shoushuo.android.tts.intent.action.InvokeTts";

Intent intent = new Intent(actionName);

// 绑定tts服务

this.bindService(intent, ttsConnection, Context.BIND_AUTO_CREATE);

}

}

}

android 语音播报中文,android 语音播报(通过手说tts 实现中文语音播报)相关推荐

  1. android 语音播报(通过手说tts 实现中文语音播报)

    手说TTS介绍: 关于手说tts中文语音包的详细资料可以查看官网 http://shoushuo.com/index.html 手说TTS,是Android平台下的中文语音引擎,提供了中文文本到语音的 ...

  2. android电话语音播放,使用Android自带的TTS实现语音播报(电话号码)功能

    事先声明:该文章参考以下几篇文章,如果大家想看,可直接点击进入: https://github.com/SolveBugs/Utils/blob/master/SpeechUtils.java htt ...

  3. Android 讯飞语音开发(Android Studio)

    前段时间火了一个很牛的讯飞语音,去看官方文档,瞬间蒙逼,官方是用的eclipse,我用的Android Studio.好了,能上代码尽量不BB. 先来看看gradle里面要配置的东西. module里 ...

  4. android离线语音开发,Android应用开发之Android 云之声离线语音合成

    本文将带你了解Android应用开发之Android 云之声离线语音合成,希望本文对大家学Android有所帮助. 离线语音解析 public class SpeechUtilOffline impl ...

  5. 【Android App】实战项目之实现你问我答的智能语音机器人(超详细 附源码和演示视频)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.需求描述 想必大家都见过商场里的智能语音机器人,你对它提问时它可以自动回答你的问题,接下来我们也实现这样一个机器人,它依靠语音技术完成问询服务 基 ...

  6. 手机语音助手(android)

    2012.3.5版 官方下载  优亿市场 1.新增来电语音播报功能 2.新增收到短信语音提醒功能 3.新增收到短信内容朗读功能 2012.2.26版 官方下载    N多市场     appchina ...

  7. android放微信@功能,Android仿微信语音消息的录制和播放功能

    一.简述 效果: 实现功能: 长按Button时改变Button显示文字,弹出Dialog(动态更新音量),动态生成录音文件,开始录音: 监听手指动作,规定区域.录音状态下手指划出规定区域取消录音,删 ...

  8. android 语音搜索动画,Android自定义控件实现UC浏览器语音搜索效果

    最近项目上要实现语音搜索功能,界面样式要模仿一下UC浏览器的样式,UC浏览器中有一个控件,会随着声音大小浮动,然后寻思偷个懒,百度一下,结果也没有找到类似的,只能自己动手了. 先上图看我实现的效果: ...

  9. android 仿微信聊天界面 以及语音录制功能,Android仿微信录制语音功能

    本文实例为大家分享了Android仿微信录制语音的具体代码,供大家参考,具体内容如下 前言 我把录音分成了两部分 1.UI界面,弹窗读秒 2.一个类(包含开始.停止.创建文件名功能) 第一部分 由于6 ...

最新文章

  1. 使用Git管理源代码
  2. IT服务管理(ITSM):IT行业变革的思考(4)
  3. 什么是服务器端口?服务器端口都有哪些?
  4. 再谈 查询长期未登录AD的用户
  5. [微软面试100题]61-70
  6. Unity Mono脚本 加密
  7. ubuntu16.04 + kinetic +turtlebot2配置
  8. 根据字符串形式的路径导入模块(重要)
  9. Python发展的新时代—冯大辉先生谈《Python源码剖析》
  10. Gradle sync failed: Unsupported method: NativeArtifact.getSourceFolders().
  11. 欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(十二)块程序
  12. 深度学习之卷积自编码器
  13. 计算机课教学常规要求,2020学校教学常规管理制度
  14. opencv抠出圆形区域_用OpenCV检测圆形区域(包含大量小对象)
  15. 45个小众而实用的NLP开源字典和工具
  16. 强化学习15——Proximal Policy Optimization (PPO)算法详细推导
  17. matlab 截断共轭梯度法,最优化作业 共轭梯度法 matlab代码
  18. Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写
  19. Kotlin之身份证阅读器(华视)二次开发
  20. 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付

热门文章

  1. crossover mac好用吗 mac用crossover损害电脑吗
  2. MUSH中的miniwindow(一 )
  3. name followed by “::“ must be a class or namespace name
  4. 【C++】递归调用——难点揭秘
  5. 智能运维算法:周期性异常检测易,非周期性异常检测难
  6. android 中一段文字设置不同颜色
  7. 纪念在IBM实习的这些日子
  8. Linux ptrace 的实现
  9. Spring AOP实践--记录类方法执行时间
  10. Cortex M33处理器下移植FreeRTOS V10.2.0的操作记录