您听过这个单词吗?没有,我只知道字面上的意思。打开"消息"面板,试一下:
voiceSpeak("Director can talk!")
Director MX 主要的新功能之一是 Speech Xtra。与文本、字体、Shockwave Audio 和 3D Xtras 一样,这个小小的 Xtra 现已成为 Director 和 Shockwave 的标准组件。它是 Director MX 中新增的辅助功能,后者还包括一个字幕和键盘选择行为库。
的辅助功能的应用效果非常明显,特别是对于承接符合 Section 508* 规定的美国政府项目的用户。但是,Speech Xtra 不仅仅是面向美国的政府承包商,它还有众多其它用途。
Speech Xtra 的功能基本上就是连接用户计算机上的文本-语音转换系统软件。一旦连接,Xtra 将向系统发送一个文本串,导致系统读出文本。目前的大多数计算机都具有文本-语音转换功能,即使用户并不知情。Macintosh 或 Windows XP 系统的任何用户几乎肯定都拥有它。
要让您的计算机通过 Director MX 读出(发声)文本,您需要做的就是在"消息"面板中键入以下文字:
voiceSpeak("Hello World")
从技术上讲,在编写脚本时,应当首先使用 voiceInitialize() 函数。这将返回一个 TRUE 或 FALSE 值,指明用户的计算机是否具有文本-语音转换功能。您可以使用这个结果告诉用户,在使用您的产品之前,他们需要安装其 OS 文本-语音转换软件。以下是处理这个问题的一个框架脚本示例:
on exitFrame me
if voiceInitialize() then
go to frame "Start"
else
go to frame "Speech Problem Notice"
end if
end
一旦确定用户已安装文本-语音转换软件,就就可以使用 voiceSetRate、voiceSetPitch 和 voiceSetVolume 命令对语音发声的方式进行自定义。还有功能相同的 voiceGetRate、voiceGetPitch 和 voiceGetVolume 函数。遗憾的是,这些命令和函数使用的值取决于您在运行的系统。因此,在计划使用它们之前,务必先在您的测试计算机上进行试验。
您也可以完全更改语音。voiceSet 命令允许您设置语音类型。在 Macintosh 系统上,通常有二十种左右的语音可供选择。默认的文本-语音转换通常只有一个,但用户可以添加。
您可以使用 voiceGet 命令来观看当前设置的是哪一种语音。该代码示例返回一个属性列表:
put voiceGet()
-- [#name: "Agnes", #age: "35", #gender: "Female", #index: 1]
您可以使用 voiceGetAll() 命令来获取可用于该用户的所有语音的列表。当您使用 voiceSet 时,应在它出现在 voiceGetAll() 列表中时给它提供语音的索引编号。您可以使用该功能提供一个"Next Voice"按钮,或一个带有用户可以选择的语音和属性完整列表的屏幕。
但是,如果您尚未做好这种 Lingo 编程准备,可以坚持使用 voiceInitialize 和 voiceSpeak。
除了作为辅助功能的意向用途之外,我还将介绍 Speech Xtra 的其它十种用途。其中大多数利用了您可以将 Speech Xtra 集成在自己的项目中这一事实,并能使它读出一些基本文本,而不会明显增加开发时间或文件大小。
voiceSpeak("Gobbledygook")
voiceSpeak("Gobble-de-gewk")on mouseUp
voiceSpeak("Director MX rocks")
end