- 浏览: 2965173 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (893)
- android (110)
- iphone (198)
- java (79)
- JavaScript手册-目录 (9)
- JavaScript手册-Array (19)
- JavaScript手册-Boolean (5)
- JavaScript手册-Date (50)
- JavaScript手册-Math (30)
- JavaScript手册-Number (14)
- JavaScript手册-RegExp (7)
- JavaScript手册-String (38)
- JavaScript手册-全局函数 (8)
- JavaScript实用脚本 (7)
- Others (21)
- java-jpcap (7)
- java-thread (1)
- ibm文章 (3)
- classloader (2)
- java-filter (2)
- 运行环境 (33)
- java-正则 (2)
- oracle (1)
- linux-shell (26)
- wap (1)
- sqlite (3)
- wow (1)
- jvm (1)
- git (5)
- unity3d (29)
- iap (2)
- mysql (23)
- nginx (14)
- tomcat (9)
- apache (2)
- php (1)
- ubuntu (40)
- rsa (1)
- golang (21)
- appstore (5)
- sftp (2)
- log4j (2)
- netty (18)
- 测试工具 (6)
- memcache (5)
- 设计模式 (1)
- centos (8)
- google_iab (5)
- iOS专题 (4)
- mac (10)
- 安装配置帮助手册 (2)
- im4java_graphicsmagick (5)
- inotify-tools (1)
- erlang (6)
- 微信支付 (1)
- redis (8)
- RabbitMQ (5)
最新评论
-
heng123:
Netty视频教程https://www.douban.com ...
netty4.0.23 初学的demo -
maotou1988:
使用Netty进行Android与Server端通信实现文字发 ...
netty4.0.23 初学的demo -
码革裹尸:
非常感谢,正好用上
android 呼入电话的监听(来电监听) -
rigou:
提示的/222.177.4.242 无法链接到ip地址,是什 ...
通过 itms:services://? 在线安装ipa ,跨过app-store -
duwanbo:
GridView与数据绑定
Android 通过手说tts中文语音包实现中文朗读
关于手说tts中文语音包的详细资料可以查看官网 http://shoushuo.com/index.html
手说TTS,是Android平台下的中文语音引擎,提供了中文文本到语音的转换。
使用手说TTS进行中文文本的朗读,包括中文简繁体、阿拉伯数字、英文字母及一些符号的混读。并且处理了中文的多音字和音调转换等问题。
开发人员可以使用手说TTS来开发Android平台下需要中文语音的应用程序。
开发准备:
第一步:安装手说TTS安装包
从官网 http://shoushuo.com/sstts.html 下载手说TTS安装包:ShoushuoTTS.apk 。
安装到真实手机或者手机模拟器中。
第二步:下载手说TTS客户类库包
下载手说TTS客户类库包:shoushuotts.jar 。
将该jar文件引入到你的应用中。
第二步:demo实现
xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/edtSpeectText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="太阳从东边升起,慢慢的露出红彤彤的笑脸。" /> <Button android:id="@+id/btnSpeechGo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="开始朗读" android:onClick="speechText" /> </LinearLayout>
java代码:
package com.zhouzijing.android.demo; import com.shoushuo.android.tts.ITts; import com.shoushuo.android.tts.ITtsCallback; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; 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.widget.Button; import android.widget.EditText; import android.widget.Toast; public class SpeechActivity 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.speech_text); context = this; edtSpeectText = (EditText) findViewById(R.id.edtSpeectText); btnSpeechGo = (Button) findViewById(R.id.btnSpeechGo); } /** * 按钮:朗读. * * @param v */ public void speechText(View v) { v.setEnabled(false); 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); } } }
评论
6 楼
f839903061
2013-02-05
除了不能卸载你的apk
其他都挺好的!
可以用!
5 楼
jobdream001
2012-05-11
你好,按你的程序我手机安装手说apk,执行程序时就报错,意外停止 QQ345857492
4 楼
zhou_zheng1201
2012-03-07
3 楼
zhou_zheng1201
2012-03-06
good
2 楼
gzg
2011-12-29
这样还是得先安装手说的apk,然后进行二次开发,这样很不好。。。。如何自己开发呢?
1 楼
xff
2011-12-20
谢谢分享
发表评论
-
Android Fragment 真正的完全解析(下)
2015-03-25 14:30 1086Android Fragment 真正 ... -
Android Fragment 真正的完全解析(上)
2015-03-25 10:14 877Android Fragment 真正的 ... -
Activity的生命周期方法
2015-03-25 09:54 548一:Activity的生命周期方法 Android ... -
Android在layout xml中使用include
2015-03-25 07:28 966在Android的layout样式定义中,可以使 ... -
一个支持圆角的快速ImageView:RoundedImageView
2015-03-07 09:50 11057一个支持圆角的快速ImageView:Rounded ... -
ImageView图片设置
2015-03-05 23:08 919显示任意图像,例如图标。ImageView类可以加载 ... -
ListActivity的onListItemClick不响应的解决办法
2015-03-04 17:57 1078ListActivity的onListItemClic ... -
ListView中有控件隐藏或显示造成的显示错误问题
2015-03-03 23:03 1817ListView中有控件隐藏或显示造成的显示错误问题 ... -
Android中Application类用法
2015-03-03 09:12 966Android中Application类用法 ... -
Android使用Application总结
2015-03-03 09:11 1170Android使用Application ... -
在android中运行java main方法
2015-02-27 10:38 965在android中运行java main方法 ... -
android BitmapFactory.Options
2015-02-19 21:01 990public Bitmap inBi ... -
android 基础demo例子
2015-02-16 21:06 807demoDatas.add(new DemoBe ... -
Android大图片裁剪终极解决方案
2015-02-15 17:08 2133Android大图片裁剪终 ... -
Android_照相机Camera_调用系统照相机返回data为空
2015-02-15 14:17 1264Android_照相机Camera_调用系统照相机返回 ... -
Android: 打印Bundle内容
2015-02-15 14:11 2925Android: 打印Bundle内容 有的时 ... -
android线程、UI、AsyncTask
2015-02-13 18:06 1251本文是转摘的,看过了觉得很好!所以转了过来!如果你想要 ... -
Fragment中ListView的使用
2015-02-06 23:01 2098Fragment中ListView的使用 直接 ... -
在安卓开发时用酷派手机无法打印出应用内的日志的解决方法
2014-12-11 20:39 1172在安卓开发时用酷派手机无法打印出应用内的日志的解决方法 ... -
查看安卓APK文件证书的方法
2014-12-04 10:05 949************************** ...
相关推荐
android下实现对文本的语音朗读,TTS技术,支持中文朗读。Android SDK 4.04下测试通过。 附件包含测试源代码及语音库文件 这是语音合成测试工程,如果需要朗读中文请安装中文引擎。我采用的是讯飞语音库,手机版本...
科大讯飞TTS离线语音包,供科大讯飞Android TTS引擎使用
用于android开发语音识别TTS的jar包。支持朗读中文。为在google无法下载提供方便!
包含两款支持安卓(Android)离线语音合成(朗读)的演示App源码,采用塘上科技语音合成SDK,支持变声,变音高和语速,无需联网可节省流量。项目请用Eclipse+ADT进行编译,ADT需要v21.1.0-569685或更新的版本。 最新版...
度秘语音引擎,3.0版本,android系统安装后可以选择引擎进行TTS转换。
一个能说中文tts jar包,辅助开发者开发。Android 从1.6 版本开始支持Text To Speech ,使用的是Pico 语音合成引擎,但是只支持 English 、 French 、 German...因此使用 Android 默认的 TTS Engine 是没法朗读中文的。
8.5 自动朗读(TTS) 347 8.6 本章小结 350 第9章 使用ContentProvider实现 第9章 数据共享 351 9.1 数据共享标准: ContentProvider简介 352 9.1.1 ContentProvider简介 352 9.1.2 Uri简介 353 ...
8.5 自动朗读(TTS) 347 8.6 本章小结 350 第9章 使用ContentProvider实现 第9章 数据共享 351 9.1 数据共享标准: ContentProvider简介 352 9.1.1 ContentProvider简介 352 9.1.2 Uri简介 353 9.1.3 使用...
8.5 自动朗读(TTS) 347 8.6 本章小结 350 第9章 使用ContentProvider实现 第9章 数据共享 351 9.1 数据共享标准: ContentProvider简介 352 9.1.1 ContentProvider简介 352 9.1.2 Uri简介 353 9.1.3 使用...
在默认情况下,语音识别的语言为英文,你可以通过长按语音按钮切换语言,当然,你要是不嫌麻烦,在设置中也能进行更改。金山词霸给出的识别结果有时不仅仅只有一个备选项,而相 对来说,字母拼写的方式更加准确。 ...