手说TTS开发指南

Similar documents
新・解きながら学ぶJava

01_Service

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

建模与图形思考

Microsoft Word - 01.DOC

Android Service

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

untitled

1.5招募说明书(草案)

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

Chapter 9: Objects and Classes

【主持人】:给大家介绍一下,这次的培训是我们画刊部的第三次培训,当然今天特别有幸请来著吊的摄影家李少白老师给我们讲课


untitled

Microsoft Word - ch04三校.doc

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

untitled

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

建模与图形思考

untitled

Chapter 9: Objects and Classes

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

《大话设计模式》第一章

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

Java

EJB-Programming-4-cn.doc

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

chp6.ppt

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

JavaIO.PDF

新版 明解C++入門編

CHAPTER VC#

JBuilder Weblogic

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

掌盟 SoEasy SDK 开发者帮助文档 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion="19" b) 如果 AndroidManifest.xml 有 insta

第一章

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

使用MapReduce读取XML文件

Microsoft Word - 第3章.doc

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

概述

Guava学习之Resources

"+handlermethod.getbean().getclass().getname()); public void aftercompletion(httpservletrequest req, HttpServletResponse resp, Object handler, Excepti

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

javaexample-02.pdf

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

Swing-02.pdf

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

untitled

( 含 要 ) 1-2 用 或 雇 用, 抑 或 有 無 俸 給 文 職 或 武 職, 政 官 或 事 官 均 屬 之, 其 不 以 具 備 人 資 格 為 限, 因 此 屬 於 最 廣 義 之 念 四 廣 義 念 之 依 服 24 條 之 規 定 : 本 於 受 有 俸 給 之 文 武 職, 及

EJB-Programming-3.PDF

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

云数据库 RDS SDK

拦截器(Interceptor)的学习

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

Microsoft Word - Broker.doc

untitled

3. 反 映 : 4. 五 花 八 门 : 5. 慷 慨 : 6. 参 与 : 7. 慰 劳 : 8. 延 续 : 9. 珍 爱 : 10. 浪 漫 : 三. 找 出 下 列 每 组 词 中 的 近 义 词 或 同 义 词 : 节 日 节 气 节 令 时 节 习 俗 民 俗 仪 式 风 俗 文 献

内容提要 书 作 名 : 者 : 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

内容提要 书 作 名 : 者 : 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

内容提要 书 作 名 : 者 : 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

内容提要 书 作 名 : 者 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

内容提要 书 作 名 : 者 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

无类继承.key

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 學校系所 : 樹德科技大學資訊工程學系

Microsoft PowerPoint - plan08.ppt

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

Microsoft Word - ASM SDK 說明文件

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

内容提要 书 作 名 : 者 社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 : 字 书 数 :150 千字 号 :

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

java2d-4.PDF

书 作 名 : 者 : 出版社 : 中国电影出版社 版权所有 : 烨子工作室 类 别 : 中国传世情爱小说 出版时间 :2005 年 10 月 字 书 数 :150 千字 号 :ISBN

书 名 : 作者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 号 :

TC35短信发送程序设计

建立Android新專案

(Microsoft Word - \256g\275b\252\354\305\351\305\347.doc)

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 号 :

书 名 : 作者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 号 :

书 名 : 作者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 号 :

<!-- import outer proper

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

书 作 名 : 者 : 出版社 : 版权所有 : 烨子工作室 类 别 : 出版时间 :2005 年 10 月 字 书 数 : 50 千字 号 :

Transcription:

手说 TTS 开发指南 v1.3 2011 年 6 月 版权所有 : 手说工作室 shoushuo.com

版本时间作者说明 1.0 2010-11-15 张波 1.1 2010-12-27 在 ondestroy 方法 unbindservice 1.2 2010-12-30 1.3 2011-6-12 去掉 TTS 初始化 ; ttsservice.initialize() 方法调用添加接口方法 : void nextnopauseforcall()

目 录 1 简介... 1 2 开发准备... 1 2.1 适用平台... 1 2.2 下载... 1 2.3 安装及初始化... 1 3 应用开发... 1 3.1 将客户端包导入工程... 1 3.2 进行代码编写... 1 第 0 页共 6 页

1 简介 手说 TTS, 是 Android 平台下的中文语音引擎, 提供了中文文本到语音的转换 使用手说 TTS 进行中文文本的朗读, 包括中文简繁体 阿拉伯数字 英文字母以及一些符号的混读 开发人员可以使用手说 TTS 来开发需要中文语音的应用程序, 本手册介绍如何使用手说 TTS 来进行语音开发 2 开发准备 2.1 适用平台 手说 TTS 适用于 Android1.5~Android2.2 系统的手机和移动终端 2.2 下载 在下面位置 http://shoushuo.com/sstts.html 下载应用安装包 shoushuotts.apk 和客户 端开发包 shoushuotts.jar 2.3 安装 在 Android 设备上安装下载的 apk 文件 点击应用应用图标, 进入 TTS 设置视图 进入后聆听范例正常即可开发和部署中文语音应用了 3 应用开发 3.1 将客户端包导入工程 将 shoushuotts.jar 导入工程 Build class path 3.2 进行代码编写 以下以在一个 Activity 开发为例进行说明 第 1 页共 6 页

3.2.1 在 Activity 声明 tts 接口和绑定标志 private ITts ttsservice; private boolean ttsbound; 3.2.2 声明 ServiceConnection private ServiceConnection connection = new ServiceConnection() { public void onserviceconnected(componentname classname, IBinder iservice) { ttsservice = ITts.Stub.asInterface(iservice); ttsbound = true; // 在应用第一个使用 TTS 的地方, 调用下面的 initialize 方法, 比如如果有 // 两个 Activity 都使用手说 TTS, 则第二个 Activity 在此不需要再调用 try { ttsservice.initialize(); catch (RemoteException e) { public void onservicedisconnected(componentname arg0) { ttsservice = null; ttsbound = false; ; 第 2 页共 6 页

注意 ttsservice.initialize() 方法只在第一个使用 TTS 的地方调用一次 3.2.3 处理 bindservice 和 unbindservice 下面在 onstart() 方法 bindservice, 在 ondestroy () 方法 unbindservice 特别注意 shoushuotts 的 Action 为 com.shoushuo.android.tts.intent.action.invoketts protected void onstart() { super.onstart(); if (!ttsbound ) { String actionname = "com.shoushuo.android.tts.intent.action.invoketts"; Intent intent = new Intent(actionName); this.bindservice(intent, connection, Context.BIND_AUTO_CREATE); protected void ondestroy () { if (ttsbound ) { ttsbound = false; this.unbindservice(connection); super. ondestroy (); 第 3 页共 6 页

3.2.4 服务接口方法调用 服务绑定后, 可以使用 ttsservice 对服务接口调用来实现所需的语音功能 方法描述如下 : public void speak(string text, int queuemode); 朗读文本 text, 文本内容 queuemode, 排队模式,0 或 TextToSpeech.QUEUE_FLUSH 为立即朗读 1 或 TextToSpeech. QUEUE_ADD 为等待前面的读完再读 public boolean isspeaking(); 是否当前正在朗读 public void stop(); 停止朗读 public void playsilence(long duration, int queuemode); 朗读一段时间静音 duration, 静音时间, 单位为毫秒 queuemode, 同前面 speak 方法的 queuemode void nextnopauseforcall(); 下一句朗读时不受来电影响, 一般来电等时间会是手说 TTS 的朗读暂停, 如果再调 用 speak 方法前调用此方法, 则下句朗读不受来电影响 public void speaksyllable(string syllacontent, int queuemode); 朗读音节序列, 一个音节的形式为声母 _ 韵母 _ 声调, 音节序列为有空格隔开的多个 第 4 页共 6 页

音节 syllacontent, 音节序列字符串 queuemode, 同前面 speak 方法的 queuemode 3.2.5 注册和响应事件 ITtsCallback 为 TTS 服务的一个回调接口, 回调接口的实例可以注册到 TTS 服务, 目前 ITtsCallback 提供了 speakcompleted() 回调方法, 当朗读完成时该回调方法被调用 如果需要, 客户程序应该声明回调接口实例并实现该回调方法 注意回调方法更新界面要通过 Handler 和 Message 来进行, 不能直接更新界面 private final ITtsCallback mcallback = new ITtsCallback.Stub() { public void speakcompleted() throws RemoteException { ttshandler.sendemptymessage(0); ; private Handler ttshandler = new Handler() { public void handlemessage(message msg) { Toast.makeText(SpeechTest.this, " 我的话说完了 ", Toast.LENGTH_LONG).show(); ; TTS 服务接口提供了回调接口实例的注册和注销的方法, 只有当注册后, 当事件发生后该回调接口实例的回调方法才能被调用 下面修改前面的 ServiceConnection, 在 bindservice 后马上注册回调接口实例, 在 unbindservice() 前先注销该实例 private ServiceConnection connection = new ServiceConnection() { public void onserviceconnected(componentname classname, IBinder iservice) { 第 5 页共 6 页

ttsservice = ITts.Stub.asInterface(iservice); try { ttsservice.registercallback(mcallback); catch (RemoteException e) { ttsbound = true; public void onservicedisconnected(componentname arg0) { try { ttsservice.unregistercallback(mcallback); catch (RemoteException e) { ttsservice = null; ttsbound = false; ; 第 6 页共 6 页