- 浏览: 592539 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
青春依旧:
html5教学哪家强!当然要上华清远见!
深入理解浏览器兼容性模式 -
ashur:
真机智,看得我都笑自己了
js 字符串转dom 和dom 转字符串 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
solr第一弹 autocomplete(自动补全) -
FakLove:
连线如何删除啊
基于html5 的拖拽连线 -
FakLove:
连线可以再删除吗?
基于html5 的拖拽连线
TTS是微软推出的一套文字朗读引擎(Text-To-Speech Engine),我们可以让它来为我们诵读网页中的文字信息,让眼睛休息一下。
在Microsoft Speech SDK 5.1的Samples/Scripts/SimpleTTS中已经提供了一个演示例子,不过是全英文的,在参考修改中遇到了一个问题,即
COM对象Sapi.SpVoice的实例变量的定义代码要和初始化及事件处理代码分开。
也就是说:Sapi.SpVoice的实例变量VoiceObj的定义代码:
[javascript] view plaincopy
- // Create the Sapi SpVoice object
- var VoiceObj = new ActiveXObject("Sapi.SpVoice");
要放在一个<script></script>中,或者放在一个.js文件中,如speak0.js。
Sapi.SpVoice的实例变量VoiceObj的初始化及事件处理代码:
[javascript] view plaincopy
- function InitializeControls()
- {
- // Initialize the Voices and AudioOutput Select boxes
- var VoicesToken = VoiceObj.GetVoices();
- var AudioOutputsToken = VoiceObj.GetAudioOutputs();
- }
- InitializeControls();
- function VoiceObj::EndStream()
- {
- idbSpeakText.value = "朗读";
- }
- function VoiceObj::StartStream()
- {
- idbSpeakText.value = "停止";
- }
要放在另一个<script></script>中,或者放在另一个.js文件中,如speak1.js。
演示代码:
[javascript] view plaincopy
- <HTML>
- <HEAD>
- <SCRIPT LANGUAGE="JavaScript">
- // Create the Sapi SpVoice object
- var VoiceObj = new ActiveXObject("Sapi.SpVoice");
- </SCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- // Code in the BODY of the webpage is used to initialize controls and
- // to handle SAPI events
- /***** Initializer code *****/
- function InitializeControls()
- {
- // Initialize the Voices and AudioOutput Select boxes
- var VoicesToken = VoiceObj.GetVoices();
- var AudioOutputsToken = VoiceObj.GetAudioOutputs();
- }
- InitializeControls();
- // Handle EndStream event
- function VoiceObj::EndStream()
- {
- idbSpeakText.value = "朗读";
- }
- // Handle StartStream event
- function VoiceObj::StartStream()
- {
- idbSpeakText.value = "停止";
- }
- // SpeakText() function:
- // This function gets the text from the textbox and sends it to the
- // Voice object's Speak() function. The value "1" for the second
- // parameter corresponds to the SVSFlagsAsync value in the SpeechVoiceSpeakFlags
- // enumerated type.
- function SpeakText()
- {
- //alert(document.body.innerText);
- if (idbSpeakText.value == "朗读")
- {
- // Speak the string in the edit box
- try
- {
- VoiceObj.Speak(document.body.innerText, 1);
- }
- catch (exception)
- {
- alert("Error");
- }
- }
- else if(idbSpeakText.value == "停止")
- {
- // Speak empty string to Stop current speaking. The value "2" for
- // the second parameter corresponds to the SVSFPurgeBeforeSpeak
- // value in the SpeechVoiceSpeakFlags enumerated type.
- VoiceObj.Speak( "", 2);
- }
- }
- </script>
- <SCRIPT FOR="window" EVENT="OnQuit()" LANGUAGE="JavaScript">
- // Clean up voice object
- delete VoiceObj;
- </SCRIPT>
- </HEAD>
- <body>
- <BUTTON id="idbSpeakText" onclick="SpeakText();">朗读</BUTTON>
- <P> 这场比赛跟我预想的一样,德国队被西班牙玩死了。</P>
- <P> 此前德国队横扫英格兰队和阿根廷队,立即吸引了众多墙头草,被捧为夺冠最大热门。</P>
- <P> 其实熟悉欧洲俱乐部赛事的人都知道,德国俱乐部球队遇上西班牙球队成绩都不太理想。即使在西班牙联赛中水平表现一般的赫塔菲都能给德甲领头羊拜仁慕尼黑制造难堪。作为西甲领头羊的巴萨这几年对德国球队更是捷报频传,对阵不莱梅、斯图加特、沙尔克04、拜仁慕尼黑,不仅比分占优,而且在控球、传球上的技术优势也非常明显。</P>
- <P> 此次西班牙对阵德国,西班牙队内首发的巴萨球员达到7人,除了巴尔德斯外,其他球员全部都上场了,普约尔和皮克坐镇后防线,哈维、布斯克茨、伊涅斯塔打中场,比利亚和佩德罗则打前锋。另外法布雷加斯和雷纳也出自巴萨青训营。而德国队首发阵容中来自拜仁的球员包括克洛泽、施魏因斯泰格和拉姆三人,如果不是托马斯-穆勒累积黄牌停赛,肯定也将是首发中的一员,而波多尔斯基和特罗肖夫斯基也曾在拜仁效力,另外替补席上的巴德施图贝尔、托尼-克罗斯、戈麦斯和布特也都是来自拜仁,也就是说这辆日尔曼战车同样有10名“拜仁帮”的球员。从一定意义上说,这场比赛就是 巴萨 vs 拜仁慕尼黑,西班牙队胜面很大。</P>
- </body>
- </html>
发表评论
-
浏览器事件是冒泡还是捕获
2016-07-27 16:37 3019这是三种事件处理的模型 (1)冒泡型事件:事件按照从最特定 ... -
javascript 编程反思1 new 原理
2016-04-27 14:05 0我们在定义对象的时候通常使用两种方式 1:通过new 关键 ... -
javascript 设计模式1 单例模式
2015-06-15 15:10 0... -
facebook html5开发app 失败的原因,
2015-06-08 11:56 1956Here’s why the Facebook iOS a ... -
jQuery zepto 用法区别
2015-05-22 11:50 0以前都是用jQuery 因为移动项目中在使用zepto 基本 ... -
js 加载机制和defer async用法
2015-05-15 17:45 0这是今天我一个 ... -
grunt 不是内部命令
2015-05-04 19:21 1458grunt 不是内部命令!! ... -
你不知道的URL中#井号用法
2015-02-10 12:36 7079URL 中 # 井号的用法 ... -
JS 伪数组原理详解
2014-12-01 11:24 2487jav ... -
jquery 滚动条插件nanoScroller 的用法
2014-11-27 11:17 5699scroller 插件nanoSc ... -
h5,hybrid 开发中问题汇总
2014-10-17 11:26 8205H5开发问题总结 和jqu ... -
backbone中的 reuter 和histroy
2014-10-13 10:45 624Router和History (路由控制) Back ... -
animate 技术分析 raphael
2014-07-28 16:40 0Animate 什么是animate,一般我 ... -
Raphaeljs 插件实现任意SVG节点加载
2014-07-14 09:26 8623SVG 和Raphael http://rap ... -
ECMAScript 5
2014-07-08 14:36 1056新版本在给基本库带来 ... -
jQueryUI Widget 代码详解
2014-07-07 12:20 0为什么需要研究JqueryUI 中Widget 的代码 ... -
typescript 用法介绍
2014-07-01 09:58 1237前言 Typescript的形態 如何定義va ... -
window.eval 与eval 区别
2014-06-27 10:57 1083它们之间有区别吗? 开发过程中似乎很少有人去加个额外的win ... -
jQuery 学习分析系列1 jQuery是个什么东西
2014-06-23 10:06 0jQuery 的基本结构 过去使用jQuery ... -
Sizzle 引擎--原理与实践3
2014-06-18 14:05 787Sizzle引擎--原理与实践(三) 查找的入口对 ...
相关推荐
有关操作系统的书籍资料可以找到很多,但是关注如何帮助读者实现一个试验性操作系统的书籍却不多见,本书便是从一个简单的引导扇区开始,讲述一个操作系统成长的故事,以作读者参考之用。 本书面向实践,通过具体...
有关操作系统的书籍资料可以找到很多,但是关注如何帮助读者实现一个试验性操作系统的书籍却不多见,本书便是从一个简单的引导扇区开始,讲述一个操作系统成长的故事,以作读者参考之用。 本书面向实践,通过具体...
本文主要讲述了基于Web2.0的大型机操作系统GUI的实现,旨在解决大型机操作系统古老的管理模式和操作界面带来的困难和不便。该系统采用Java、JavaScript、Ajax、REXX、JCL等技术,实现了大型机操作系统的GUI化。 ...
描述中重复的“VB13.WWW浏览器和Web服务器”提示我们,这个压缩包可能包含多个章节或部分,专门讲解如何使用VB来实现对WWW浏览器和Web服务器的功能操作。VB是一种流行的编程语言,常用于开发桌面应用程序,它可以...
6. **编程接口(API)**:如系统调用,它是用户空间程序与操作系统内核交互的桥梁。 7. **操作系统安全**:讨论访问控制、权限模型、恶意软件防护、防火墙和加密技术。 8. **并发与并行**:探讨多线程、多进程的...
安装Unity Pro软件需要满足一定的硬件和操作系统条件,包括但不限于PC的处理器、内存以及硬盘空间要求。软件安装过程中,用户可以选择安装的语言版本,包括中文,这意味着用户可以使用中文变量名进行编程,从而提高...
4. **跨平台性**:虽然ASP最初是为Windows环境设计的,但通过IIS(Internet Information Services)和其他Web服务器,可以在多种操作系统上运行。 论文部分可能涵盖了以下几个方面: 1. **需求分析**:阐述了系统的...
实验环境为64位操作系统,使用Intel Core i5-8300H处理器和8GB内存,开发工具是JetBrains PyCharm社区版,Python解释器版本为3.8。题库数据存储在data文件夹中的question.xlsx文件中,考试结束后会播放music.mp3音乐...
易语言提供了调用系统API(应用程序接口)的功能,可以利用Windows API中的`ShellExecute`或`InternetOpenUrl`等函数来打开网址。通过设置参数,可以实现打开浏览器并加载指定URL。 2. **内嵌WebBrowser控件** ...
部分内容详细讲述了JavaScript如何调用Applet以及Applet如何反过来调用JavaScript。首先,现代浏览器基于DOM(文档对象模型)解析HTML,使得JavaScript能够访问和操作页面元素,包括Applet。在HTML中定义的Applet会...
Selenium是一个著名的Web应用自动化测试工具,它支持多种浏览器和操作系统。Selenium能够直接运行在浏览器中,模拟用户的操作进行测试。它的两个主要版本是Selenium 1.0和Selenium 2.0。Selenium 2.0加入了WebDriver...
在本项目中,我们探讨的是一个基于JSP的网站设计,具体是实现一个留言系统。...第14章可能详细讲述了项目的某一部分,如具体的数据库设计或者Servlet的实现,进一步的学习和实践将帮助你更好地构建和优化这样的系统。
内核编程是计算机科学的一个高级主题,涉及到操作系统的核心功能,如进程管理、内存分配、设备驱动等。VB虽然通常用于开发用户界面友好的应用程序,但它也能通过特定的方式与内核交互。 标签"kernel_vb"进一步明确...
- **功能说明**:快速打开辅助技术工具,如放大镜、讲述人等。 - **应用场景**:适用于需要辅助技术支持的用户。 16. **Windows键+BREAK 打开“系统属性”对话框** - **功能说明**:快速查看系统配置信息。 - *...
这是Windows操作系统中,浏览器用来处理未知URL协议的关键接口。当用户尝试访问一个不包含已知协议(如http或https)的URL时,浏览器会尝试寻找能够处理这种协议的程序。IURLSearchHook接口的Translate方法在此过程...
Swing组件是轻量级的,它们大部分不直接与操作系统交互,而是由Java本身管理。这使得Swing可以在不同平台上保持一致的界面。Swing还引入了模型-视图-控制器(MVC)设计模式,使组件更加模块化,易于维护和扩展。 **...
在软件方面,MATLAB依赖于操作系统,因此,用户必须确保操作系统与MATLAB的版本兼容。 MATLAB的安装过程一般比较直接,用户只需按照安装向导的指示,选择好安装路径和组件,等待安装程序完成即可。安装完成后,需要...