捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
用于解决D7生成的AgentObjects_TLB.pas不能发声的正确文件
关键字:TTS AgentObjects_TLB.pas MsAgent 语音 不能发声
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:初级 完成时间:2007/6/4
发布者:lps 发布时间:2007/6/4
编辑器:DELPHI7 语  种:简体中文
分 类:声音处理 下载浏览:9875/12958
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
无图片
在delphi 7.0中使用Ms Agent,不能发音
查资料说应该设
agent.LanguageID := 1033;
或者说
agent.LanguageID := $0409;
可是在delphi 7.0中一到这句就是一个异常,而且也没有声音
网上找资料说是delphi 7.0生成的AgentObjects_TLB.pas出错导至Ms Agent不能发声,但是搜遍了也没有找到修改后AgentObjects_TLB.pas文件。
后来终于在网上找到一个解决办法(万分感谢e_mail为:kongxiangji1981@163.com的不知名的朋友)
就是用d5生成的AgentObjects_TLB.pas覆盖D7的文件
但是这样直接用不能通过编译,解决方法:
AgentObjects_TLB.pas文件要加上
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
三行编译开关就能在D7系统过
我的Agent终于发声了
鄙视那些知道解决方式放着修改过的AgentObjects_TLB.pas不共享的人。
PS:
Ms Agent的用法关键
1、在Delphi中添加Agent控件 
在Delphi IDE中选择菜单Component,Import ActiveX Control在Import ActiveX下的列表框中选择Microsoft Agent Control 2.0(Version 2.0),点击按钮Install,在Install对话框中点击按钮OK,在Confirm对话框中点击按钮Yes,在对话框中点击按钮OK。至此,Agent控件被添加到Delphi组件板ActiveX页上。
2、要安装MS TTS,否则只是能通过编译,还是不能发声
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
微软孙悟空精灵演示程序
xubin4456 2007/11/25 下+4944/浏+14268 评+2
用于解决D7生成的AgentObjects_TLB.pas不能…
lps 2007/6/4 下+9875/浏+12959 评+12
实现类似Office助手的小精灵
qcb_8031 2004/7/5 下+4716/浏+23272 评+24
MsAgent 孙悟空动作列表及简单演示
register 2004/5/9 下+2553/浏+22258 评+11
相关评论
共有评论12条 当前显示最后6条评论
register 2007/6/7 21:27:33
出错位置:
procedure TAgent.CreateControl;

  procedure DoCreate;
  begin
    FIntf := IUnknown(OleObject) as IAgentCtlEx;
  end;

begin
  if FIntf = nil then DoCreate;
end;

出错提示:
Access violation at address 0045CDC2 in modeult 'TestMsAgent.exe'.Read of address 00000338.
register 2007/6/7 22:09:05
  TForm1 = class(TForm)
    btnCreateAgent: TButton;
    btnAgentSpeak: TButton;
  private
    MyAgent: TAgent;
    Peedy: IAgentCtlCharacterEx;
    Request1: IagentCtlRequest;
  end;


procedure TForm1.btnCreateAgentClick(Sender: TObject);
begin
  MyAgent := TAgent.Create(self);
  if OpenDialog1.Execute then
  begin
    Request1 := MyAgent.Characters.Load('Peedy', OpenDialog1.FileName);
    Peedy := MyAgent.Characters.Character('Peedy');
    Peedy.Show(0);
  end;
end;

procedure TForm1.btnAgentSpeakClick(Sender: TObject);
begin
  Peedy.LanguageID := $0409;

  Peedy.Speak('TTS测试正常,可为什么我还是个哑巴?', '');
end;
qvbfndcwy 2007/6/8 10:18:08
最近下载了lps的文件,发现Peedy.LanguageID := $0409;这句一定要加上,agent才可以说话。
kongxiangji 2007/6/22 11:24:30
原来那么多人遇到这个问题啊,我原来也是在论坛上发帖子,没人解决。
能为大家解决问题是件幸福的事。
kongxiangji 2007/6/22 11:33:04
 最后我在yahoo上搜到一个国外的网站上找到了那个文件。
yuelinniao 2008/1/2 23:33:07
不知道是不是因为国内言论自由度的问题。国内技术员不共享解决方法,搜帖不发帖。我很早就对这个问题反思过。
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表