在中使用微软之的
语音应用程序的编程接口
微软语音应用程序编程接口在Win32(Windows 95、Windows NT)下使用了OLE组件对象模式(COM)架构,微软的Agent架构在合成语音输出中使用了微软语音应用程序编程接口(SAPI),还使用SAPI支持语音输入(语音识别SR或文本-语音转换TTS)。微软的Agent定义了让应用程序访问其服务的接口,使得应用程序能够控制角色动画、支持用户输入事件,指定输出方式。
角色窗口
在微软Agent应用程序中,卡通角色是在它们各自的窗口中被显示的,这些窗口总是出现在Z轴顺序的最顶端。用户可以通过鼠标左键拖动角色移动角色所在的窗口,角色的图像随着指针而移动。
说话汽球圈
除了语音输出外,动画角色还支持以卡通类型说话汽球圈形式的文字字幕,角色说话时,所说的文字就出现在汽球圈儿中,当说完时,汽球圈也就不见了。
在互联页中使用微软AGENT
要在互联页中使用微软Agent服务,可以在页中的或元素中使用HTML标记,指定控制的CLSID(类标识符),另外,还需要使用CODEBASE参数指定微软Agent的安装文件的位置和版本号。
我们可以使用Vbscript、JavaScript和JScript在互联页中使用微软Agent。
图1
在.NET架构中使用微软AGENT
微软Agent不是以ActiveX控制DLL的形式提供的。要在.NET中使用它,可以使用由.NET框架SDK提供的e工具:
AxImp -- ActiveX控制-Win窗体组合体生成器
Syntax: AxImp [/? | [[/source] OCXName]]
Aximp l
上面的命令生成二个文件:l和l。通过使用这二个文件,我们就可以在.NET中使用Agent了。
C#中的微软Agent:
要在C#中使用微软Agent,我们必须在程序中添加二个DLL文件:l和l。加载动画角色的代码是相当简单的:
ad(\"Genie\",(object)\"C:/Windows/Msagent/chars/s\");
Character = aracters[\"Genie\"];
nguageID = 0x409;
ow(null);
让角色说话的代码如下所示:
eak (\"Welcome you sir VISIT \",null);
下面我们来看一个例子:
The Example:
using System;
using awing;
using nForms;
using AgentObjects;
public class Hello: Form
{
private ntainer components;
private tton button2;
private tton button1;
private xtBox textBox1;
private Agent AxAgent;
private IAgentCtlCharacterEx Character;
public Hello()
{
InitializeComponent();
}
public static void Main(string[] args)
{
n(new Hello());
}
private void InitializeComponent()
{
ponents = new ntainer();
tton1 = new tton();
tton2 = new tton();
xtBox1 = new xtBox();
Agent = new Agent();
ginInit();
ick += new entHandler(button2_Click);
cation = new int(88, 208);
ckColor =
(lor)omARGB((byte)255, (byte)128, (byte)128);
ze = new ze(152, 32);
bIndex = 1;
xt = \"Load character\";
cation = new int(120, 240);
ckColor =
(lor)omARGB((byte)255, (byte)128, (byte)128);
ze = new ze(96, 24);
bIndex = 2;
xt = \"SPEAK\";
cation = new int(48, 8);
xt = \" \";
ltiline = true;
bIndex = 0;
ze = new ze(248, 200);
ckColor =
(lor)omARGB((byte)255, (byte)128, (byte)128);
xt = \"MSAGENT DEMO\";
toScaleBaseSize = new ze(5, 13);
ndowState = ximized;
ckColor =
(lor)omARGB((byte)255, (byte)192, (byte)192);
ientSize = new ze(344, 301);
d(button2);
d(button1);
d(textBox1);
d(AxAgent);
ick += new entHandler(button1_Click);
优秀企业有望通过叠加业务扩大市占率并扩大收入。1、自销好还是代销好?尚无定论我们对于代理销售行业 dInit();
}
protected void button2_Click(object sender, entArgs e)
{
if(ngth == 0)
return;
eak(xt, null);
}
protected void button1_Click(object sender, entArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
dExtension = true;
lter = \"Microsoft Agent Characters (*.acs)|*.acs\";
lterIndex = 1 ;
storeDirectory = true ;
if(owDialog() != )
return;
try { load(\"CharacterID\"); }
catch { }
ad(\"CharacterID\", (object)leName);
Character = aracters[\"CharacterID\"];
nguageID = 0x409;
ow(null);
ay (\"announce\");
eak (\"welcome you sir\",null);
}
}
输出:
图2
图3
结束语:
微软的Agent API提供了支持动画角色显示的服务,被配置为OLE Automation(COM)服务器时,它能够使多个被称为客户或客户端应用软件的应用程序同时托管或使用其动画、输入、输出服务。
查看本文来源
武汉看白癜风权威医院杭州阴道炎治疗哪家好
重庆治疗白癜风哪好
- 上一页:在中使用属性控件添加属性窗口呢
- 下一页:在中利用实现声音播放
-
专访丨《三仙饭》:已出版的书和不能出版的生活
《三仙煮》是诗作高星写下的关于南京三位儒者——阿坚(赵世坚)、狗子(...
2024-12-16
-
新纪元古玩艺术品在线模拟器:精品推荐——佳品磁铁陨石
赛德娜被称为“来自点点的青石块”,是银河系以外未燃尽的混沌流星瓦解旧...
2024-07-23
-
烟雨丨刘先畅:多读一本好书
多念一本用功 刘先畅 凡人四同年天,迷人苦念时。这是应景序言面语言。强...
2024-05-31
-
Alessandra Rich 2022早秋系列,修身廓形的韵味,亮点更添时髦
Alessandra Rich 的这些衣饰采用了大量勤学的廓形,修饰了身形椭圆,愈来愈多...
2024-04-27
-
很多学生姓“袁”,老师上课不敢叫她的全名,因为一叫全班哄堂大笑
铭/小哈谈教育 取名为须要细心,因为英铭名铭对人的直接影响或许很大,...
2024-04-05
-
老年教育 | 安徽省发布《老有所学行动提议》
合肥市发布《老有所学联合行动提议》 6月9日上午,合肥市但政府新闻办召开...
2024-04-03