JSAPI-GUIDE翻译

JavaTM 语音应用程序接口

程序员指南

版本1.0  1998年10月26日

Sun微系统公司制作

翻译: 彭飞  Sun认证Java程序员  2005年10月29日

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

 

图形目录……………………………………………………… ix

 

表格目录……………………………………………………… xi

 

    言……………………………………………………… xiii

指南简介……………………………………………………… xiii

网络资源……………………………………………………… xiv

相关读物……………………………………………………… xv

邮箱列表……………………………………………………… xv

校订记录……………………………………………………… xvi

 

    谢……………………………………………………… xvii

 

 

第一章       简介………………………………………………………………………… I

1.1        什么是Java语音应用程序接口?

1.2        Java语音应用程序接口设计目标

1.3        灵活的Java语音应用

1.3.1         语音与其他的Java应用程序接口

1.4        语音技术的应用

1.4.1         桌面

1.4.2         电话系统

1.4.3         个人的和嵌入式的设备

1.4.4         语音与Internet

1.5        应用性

1.6        必要条件

 

第二章       语音技术…………………………………………………………………… II

2.1        语音合成

2.1.1         语音合成的局限性

2.1.2         语音合成的评价

2.2        语音识别

2.2.1         标准语法

2.2.2         命令语法

2.2.3         语音识别的局限性

 

第三章       设计有效的语音应用程序………………………………………………… III

3.1        何时使用语音

3.2        设计语音

3.3        难题

3.3.1         暂时性:你说了什么?

3.3.2         隐蔽性:我可以说什么?

3.3.3         不对称性

3.3.4         语音合成音质

3.3.5         语音识别性能

3.3.6         识别:灵活性 vs.(versus) 准确性

3.4        企划发行语音应用程序

3.4.1         反馈 & 潜伏时间

3.4.2         提示

3.4.3         处理错误

3.5        企划发行多模态应用程序

3.5.1         反馈 & 潜伏时间

3.5.2         提示

3.5.3         处理错误

3.6        吸引用户的兴趣

3.6.1         自然对话研究

3.6.2         绿野仙踪研究

3.6.3         可用性研究

3.7        总结

3.8        更多信息

 

第四章       语音引擎:javax.speech………………………………………………… IV

4.1        什么是语音引擎?

4.2        语音引擎的属性

4.3        定位、选择和创建引擎

4.3.1         默认引擎创建

4.3.2         简单引擎创建

4.3.3         高级引擎创建

4.3.3.1  细化一个引擎列表

4.4        引擎状态

4.4.1         状态系统

4.4.2         配置状态系统

4.4.3         配置状态和调用模块

4.4.4         暂停-重新开始状态系统

4.4.5         状态共享

4.4.6         合成器(程序)中止

4.4.7         识别器(程序)中止

4.5        引擎事件

4.5.1   事件同步

4.6        其他引擎的功能

4.6.1         运行时引擎属性

4.6.2         声频管理

4.6.3         词汇管理

 

第五章       语音合成:javax.speech.synthesis…………………………………… V

5.1        “世界你好!”

5.2        作为一个引擎的合成器

5.3        讲话原文

5.4        语音输出序列

5.5        监控语音输出

5.6        合成属性

5.6.1         选择声音

5.6.2         JSML里的属性变换

5.6.3         控制韵律

 

第六章       语音识别:javax.speech.recognition………………………………… VI

6.1        “世界你好!”

6.2        作为一个引擎的识别器

6.3        识别器状态系统

6.3.1         继承状态

6.3.2         识别器焦点

6.3.3         识别状态

6.3.3.1   语音事件 vs. 其他事件

6.3.3.2   语音输入事件周期

6.3.3.3   无语音事件周期

6.3.4         状态系统的相互作用

6.4        识别语法

6.4.1         语法接口

6.4.2         委托改变

6.4.3         语法激活

6.5        标准语法

6.5.1         语法定义

6.5.2         导入

6.5.3         标准类

6.5.3.1  高级标准程序

6.5.4         动态语法

6.5.5         语法分析

6.6        命令语法

6.6.1  命令语境

6.7        识别结果(Results)

6.7.1         结果结束(Finalization)

6.7.2         结果接口层次(Hierarchy)

6.7.3         结果信息

6.7.3.1   结果接口

6.7.3.2   FinalResult 接口

6.7.3.3   FinalDictationResult 接口

6.7.3.4   FinalRuleResult 接口

6.7.4         结果生命周期

6.7.5         ResultListener 附件

6.7.6         识别器和结果状态

6.7.6.1   更新语法

6.7.7         语法结束

6.7.8         标记结束

6.7.9         确定标准结果

6.7.9.1   结果标记

6.7.9.2   交替推测

6.7.9.3   结果标签

6.7.9.4   结果分析

6.7.10      确定命令结果

6.7.10.1  交替推测

6.7.10.2  结果标记

6.7.11      结果音频

6.7.12      结果调整

6.7.13      衰减结果

6.7.14      结果定时

6.7.15      存储结果

6.8        识别器属性

6.9        说话者管理

6.10     识别器音频

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

### 关于 `@amap/amap-jsapi-loader` 的使用教程 #### 安装方法 为了在项目中集成高德地图API,首先需要通过 npm 或 yarn 来安装 `@amap/amap-jsapi-loader` 这个加载器包。执行如下命令可以完成安装: ```bash npm install @amap/amap-jsapi-loader --save ``` 或者如果更倾向于使用 Yarn,则运行: ```bash yarn add @amap/amap-jsapi-loader ``` 此过程会下载并配置好所需的依赖项以便后续开发工作[^3]。 #### 导入模块 一旦成功安装了上述库之后,在 JavaScript 文件里可以通过 ES6 模块语法来引入它: ```javascript import AMapLoader from '@amap/amap-jsapi-loader'; ``` 这段代码允许开发者轻松访问到高德地图的各种功能和服务接口[^1]。 #### 初始化地图实例 下面是一个简单的例子展示如何创建一个新的地图容器组件 (`MapContainer.jsx`) 并初始化一个基本的地图视图: ```jsx // MapContainer.jsx import React, { useEffect } from 'react'; import AMapLoader from '@amap/amap-jsapi-loader'; const MapContainer = () => { useEffect(() => { AMapLoader.load({ key: "your_api_key", // 替换成自己的 API Key version: "2.0", plugins: [] }).then((AMap) => { const map = new AMap.Map('container', { zoom: 10, center: [116.397428, 39.90923], // 设置中心点坐标 }); }).catch(e => console.log(e)); }, []); return ( <div id="container" style={{ width: '100%', height: '500px' }}></div> ); }; export default MapContainer; ``` 这里定义了一个名为 `MapContainer` 的函数式组件,并利用 `useEffect` 钩子来进行副作用操作——即当组件挂载完成后立即调用 `AMapLoader.load()` 方法加载地图服务并渲染出一张默认缩放级别为10级、位于北京天安门广场附近的地图。 #### 添加标记点 对于想要向地图上添加特定位置标注的情况,可以在初始化完毕后的回调函数内部继续扩展逻辑,比如设置一个固定位置的 Marker 标记: ```javascript new AMap.Marker({ position: new AMap.LngLat(116.397428, 39.90923), // 经纬度对象 title: '天安门' }).setMap(map); ``` 以上片段展示了怎样在一个已有的地图对象之上放置一个带有标题属性的新地标记物[^2]。 #### 封装常用功能 考虑到实际应用场景可能会涉及到更多复杂的需求,如定位当前位置、计算两点间距离或是实现驾车导航等功能,因此推荐将这些重复性的任务抽象出来形成独立的服务层或工具类。例如,针对 Vue.js 应用程序而言,可考虑构建一套基于 Promise 的异步处理机制来简化业务流程控制;而对于 React 类型的应用则更适合采用 Hooks 方式管理状态变化事件等[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值