300分,寻中文TTS完全解决方案,完美的话,可以双倍加分!!!! 去MS网站上和MSDN上看一下有没你要的内容,如果有发现望不吝赐教!关注中…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本 人一看英文头就大,但是还是忍着痛苦看了好几页E问,痛苦阿! 好像微软的意思是要把所有的东西大包,太大了,简直不可思议!还有就是怎么样大包,说是有一些.msm文件,但是我不知道具体怎么做,望高手指教!!!! 在程序中加入英文朗读功能华 中 师 范 大 学 卢 小 海([email protected]) ---- 金 山 词 霸2000 的 英 文 全 文 朗 读 功 能 相 信 一 定 给 尝 试 过 的 用 户 留 下 了 很 深 刻 的 印 象, 而 作 为 一 个 程 序 设 计 者, 你 一 定 也 想 在 自 己 的 程 序 中 加 入 类 似 的 功 能 吧, 因 为 那 将 让 自 己 的 程 序 增 色 不 少。 ----其 实 这 并 不 是 一 件 困 难 的 事, 因 为 金 山 词 霸 实 际 上 也 只 是 直 接 使 用 了MS 的TTS(Text -to -Speech) 技 术 而 已, 通 过 对MS Speech API 的 编 程, 我 们 完 全 可 以 实 现 比 其 更 强 大 的 功 能。 下 面, 让 我 们 在Delphi 环 境 下 实 际 尝 试 一 下。 ----首 先 从 金 山 词 霸 的 光 盘 上\ciba 目 录 下 运 行 并 安 装mstts.exe(MS TTS engine) 和spchapi.exe(MS Speech API)。 ----再 在Delphi 里 新 建 一 个Application。 ----然 后 从Delphi 的 菜 单Project/Import Type Library... 中 选 击Add..., 浏 览 到Windows 目 录 下 的Speech 子 目 录 里, 打 开vtxtauto.tlb, 可 以 看 到 下 面Class names 中 会 出 现 我 们 需 要 的 接 口 的 包 装 类 的 名 字TVTxtAuto, 注 意 对 话 框 底 部 的Generate Component Wrapper 需 要 被 选 中, 点 击Create Unit 就 可 以 打 开 一 个 名 为VTxtAuto_TLB 的Unit。 ----至 此, 我 们 就 可 以 开 始 实 际 编 程 了。 ----首 先 在Form 的OnCreate 中 对 需 要 使 用 接 口 初 始 化 并 进 行 注 册: ... procedure TfrmMain.FormCreate(Sender: TObject); begin FISpeech := CoVTxtAuto_.Create; FISpeech.Register(‘Demo Site', ‘Demo App'); end;... ----由 于Delphi 对 接 口 进 行 了 良 好 的 包 装, 因 此 只 需 直 接 建 立 包 装 类, 其 他 后 台 的 操 作 如 接 口 的 查 询、 释 放 等 交 给Delphi 在 后 台 自 动 完 成。 ----注 意 这 里 的Register 操 作 是 必 不 可 少 的, 因 为 可 能 有 多 个 程 序 不 同 设 置 使 用TTS 引 擎。 ----然 后 在MainForm 上 放 一 个TMemo 和 若 干 个 TButton, 并 在 其OnClick 中 加 入 对 应 的 代 码。 Form 定 义 如 下: object frmMain: TfrmMain Left = 296 Top = 187 BorderStyle = bsDialog Caption = ‘ 英 文 全 文 朗 读 演 示' ClientHeight = 185 ClientWidth = 456 Color = clBtnFace Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = ‘ 宋 体' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 12 object memText: TMemo Left = 8 Top = 8 Width = 361 Height = 169 ScrollBars = ssVertical TabOrder = 0 end object btnRead: TButton Left = 376 Top = 8 Width = 75 Height = 25 Caption = ‘ 朗 读( &R)' TabOrder = 1 OnClick = btnReadClick end object btnPause: TButton Left = 376 Top = 40 Width = 75 Height = 25 Caption = ‘ 暂 停( &P)' Enabled = False TabOrder = 2 OnClick = btnPauseClick end object btnStop: TButton Left = 376 Top = 72 Width = 75 Height = 25 Caption = ‘ 停 止( &S)' Enabled = False TabOrder = 3 OnClick = btnStopClick end object btnForward: TButton Left = 376 Top = 120 Width = 75 Height = 25 Caption = ‘ 下 一 句( &N)' Enabled = False TabOrder = 4 OnClick = btnForwardClick end object btnRewind: TButton Left = 376 Top = 152 Width = 75 Height = 25 Caption = ‘ 上 一 句( &W)' Enabled = False TabOrder = 5 OnClick = btnRewindClick end end ----关 键 代 码 段 如 下: ---- 1. 朗 读 与 停 止 ...procedure TfrmMain.btnReadClick(Sender: TObject); begin FISpeech.Speak(memText.Lines.Text, vtxtst_ READING); btnPause.Enabled := True; btnStop.Enabled := True; end; procedure TfrmMain.btnStopClick(Sender: TObject); begin FISpeech.StopSpeaking; btnPause.Enabled := False; btnStop.Enabled := False; btnPause.Caption := ‘ 暂 停( &P)'; end; ... ----Speak 成 员 函 数 的 第 一 个 参 数 向TTS 引 擎 传 递 需 要 朗 读 的 文 字, 第 二 个 参 数 由 指 定 朗 读 时 使 用 的 语 气 和 优 先 级 的 两 个 符 号 合 并 而 成。 ---- 2. 暂 停 与 恢 复 ...procedure TfrmMain.btnPauseClick(Sender: TObject); begin with FISpeech do if IsSpeaking then begin AudioPause; btnPause.Caption := ‘ 恢 复( &R)'; end else begin AudioResume; btnPause.Caption := ‘ 暂 停( &P)'; end;end;... ----这 里 通 过IsSpeaking 属 性 可 以 取 得 当 前 状 态, 然 后 通 过AudioPause 和AudioResume 暂 停 和 恢 复 朗 读。 ----另 外 用 成 员 函 数AudioFastForward 和AudioRewind 可 以 向 前 和 后 跳 过 一 句 朗 读, 通 过 读 写Speed 属 性 还 可 以 取 得 或 设 置 朗 读 的 语 速, 单 位 是 字/ 分, 缺 省 值 为170。 ----注 意Speed 和Enabled 属 性 缺 省 设 置 是 只 写 的, 但 实 际 上IVTxtAuto 提 供 了Get_Speed 和Get_Enabled 函 数, 所 以 我 们 只 要 把VTxtAuto_TLB 单 元 中 的 声 明 修 改 一 下, 如: ...IVTxtAuto = interface(IDispatch) ... property Speed: Integer read Get_Speed write Set_Speed; property Enabled: Integer read Get_Enabled write Set_Enabled; ...end; ... ----即 可 正 常 使 用Speed 和Enabled 属 性 了。 ----至 此, 一 个 简 单 的 英 文 全 文 朗 读 器 就 完 成 了, 有 兴 趣 的 朋 友 可 以 为 其 加 入 监 视 剪 贴 板, 热 键 激 活 等 功 能。 To: my_first(海浪) 首先先谢谢您,可是我要的是中文朗读的功能,如何使用英文朗读我已经了解得不叫透彻了,应该是比较好做。可是中文呢? 神啊,救救我吧! 我现在好像明白一些了,.msm文件是包含注册信息的安装模块,只要包含在visual studio installer的工程中即可,可以自动安装。最后生成.msi文件,会调用windows installer自动安装。对否?可是我现在的sp5.msm.spintll.msm等等文件到底到哪里去找阿?大虾们啊?快来救救俺吧! 我刚刚找到一个别人做好的包,只有1.6M,只支持中文,.msi文件,可是我怎样才能在我的安装文件中自动安装这个.msi文件呢?对了,谁要这个包,给我发邮件吧,[email protected]. 求推荐delphi网络编程的书籍 程序间的通讯 调用动态链接库时出现的一个奇怪问题 高手救命,再不救命偶就要跳楼了!-----关于idHTTP的post方法模拟登录问题 好久没来了~~~摩托郁闷ing~~~~~~ 如何利用delphi通过IIS将客户端文件上传到服务器上 除delphi自带的做安装盘的工具外,还有哪些其它的方式? 关于如何调用关于摄像头的设置(调节亮度,对比度等)!类似于QQ里的视频画质,跪求! 哪里有delphi6 service pack 1下载啊? 俺真的这么菜吗?谁来拯救俺? 谁来救救我吧!!!急。。。急。。。~~~~ 传统还是现代---面向对象与传统关系数据库
好像微软的意思是要把所有的东西大包,太大了,简直不可思议!还有就是怎么样大包,说是有一些.msm文件,但是我不知道具体怎么做,望高手指教!!!!
华 中 师 范 大 学 卢 小 海([email protected]) ---- 金 山 词 霸2000 的 英 文 全 文 朗 读 功 能 相 信 一 定 给 尝 试 过 的 用 户 留 下 了 很 深 刻 的 印 象, 而 作 为 一 个 程 序 设 计 者, 你 一 定 也 想 在 自 己 的 程 序 中 加 入 类 似 的 功 能 吧, 因 为 那 将 让 自 己 的 程 序 增 色 不 少。 ----其 实 这 并 不 是 一 件 困 难 的 事, 因 为 金 山 词 霸 实 际 上 也 只 是 直 接 使 用 了MS 的TTS(Text -to -Speech) 技 术 而 已, 通 过 对MS Speech API 的 编 程, 我 们 完 全 可 以 实 现 比 其 更 强 大 的 功 能。 下 面, 让 我 们 在Delphi 环 境 下 实 际 尝 试 一 下。 ----首 先 从 金 山 词 霸 的 光 盘 上\ciba 目 录 下 运 行 并 安 装mstts.exe(MS TTS engine) 和spchapi.exe(MS Speech API)。 ----再 在Delphi 里 新 建 一 个Application。 ----然 后 从Delphi 的 菜 单Project/Import Type Library... 中 选 击Add..., 浏 览 到Windows 目 录 下 的Speech 子 目 录 里, 打 开vtxtauto.tlb, 可 以 看 到 下 面Class names 中 会 出 现 我 们 需 要 的 接 口 的 包 装 类 的 名 字TVTxtAuto, 注 意 对 话 框 底 部 的Generate Component Wrapper 需 要 被 选 中, 点 击Create Unit 就 可 以 打 开 一 个 名 为VTxtAuto_TLB 的Unit。 ----至 此, 我 们 就 可 以 开 始 实 际 编 程 了。 ----首 先 在Form 的OnCreate 中 对 需 要 使 用 接 口 初 始 化 并 进 行 注 册: ... procedure TfrmMain.FormCreate(Sender: TObject); begin FISpeech := CoVTxtAuto_.Create; FISpeech.Register(‘Demo Site', ‘Demo App'); end;... ----由 于Delphi 对 接 口 进 行 了 良 好 的 包 装, 因 此 只 需 直 接 建 立 包 装 类, 其 他 后 台 的 操 作 如 接 口 的 查 询、 释 放 等 交 给Delphi 在 后 台 自 动 完 成。 ----注 意 这 里 的Register 操 作 是 必 不 可 少 的, 因 为 可 能 有 多 个 程 序 不 同 设 置 使 用TTS 引 擎。 ----然 后 在MainForm 上 放 一 个TMemo 和 若 干 个 TButton, 并 在 其OnClick 中 加 入 对 应 的 代 码。 Form 定 义 如 下: object frmMain: TfrmMain Left = 296 Top = 187 BorderStyle = bsDialog Caption = ‘ 英 文 全 文 朗 读 演 示' ClientHeight = 185 ClientWidth = 456 Color = clBtnFace Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = ‘ 宋 体' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 12 object memText: TMemo Left = 8 Top = 8 Width = 361 Height = 169 ScrollBars = ssVertical TabOrder = 0 end object btnRead: TButton Left = 376 Top = 8 Width = 75 Height = 25 Caption = ‘ 朗 读( &R)' TabOrder = 1 OnClick = btnReadClick end object btnPause: TButton Left = 376 Top = 40 Width = 75 Height = 25 Caption = ‘ 暂 停( &P)' Enabled = False TabOrder = 2 OnClick = btnPauseClick end object btnStop: TButton Left = 376 Top = 72 Width = 75 Height = 25 Caption = ‘ 停 止( &S)' Enabled = False TabOrder = 3 OnClick = btnStopClick end object btnForward: TButton Left = 376 Top = 120 Width = 75 Height = 25 Caption = ‘ 下 一 句( &N)' Enabled = False TabOrder = 4 OnClick = btnForwardClick end object btnRewind: TButton Left = 376 Top = 152 Width = 75 Height = 25 Caption = ‘ 上 一 句( &W)' Enabled = False TabOrder = 5 OnClick = btnRewindClick end end ----关 键 代 码 段 如 下: ---- 1. 朗 读 与 停 止 ...procedure TfrmMain.btnReadClick(Sender: TObject); begin FISpeech.Speak(memText.Lines.Text, vtxtst_ READING); btnPause.Enabled := True; btnStop.Enabled := True; end; procedure TfrmMain.btnStopClick(Sender: TObject); begin FISpeech.StopSpeaking; btnPause.Enabled := False; btnStop.Enabled := False; btnPause.Caption := ‘ 暂 停( &P)'; end; ... ----Speak 成 员 函 数 的 第 一 个 参 数 向TTS 引 擎 传 递 需 要 朗 读 的 文 字, 第 二 个 参 数 由 指 定 朗 读 时 使 用 的 语 气 和 优 先 级 的 两 个 符 号 合 并 而 成。 ---- 2. 暂 停 与 恢 复 ...procedure TfrmMain.btnPauseClick(Sender: TObject); begin with FISpeech do if IsSpeaking then begin AudioPause; btnPause.Caption := ‘ 恢 复( &R)'; end else begin AudioResume; btnPause.Caption := ‘ 暂 停( &P)'; end;end;... ----这 里 通 过IsSpeaking 属 性 可 以 取 得 当 前 状 态, 然 后 通 过AudioPause 和AudioResume 暂 停 和 恢 复 朗 读。 ----另 外 用 成 员 函 数AudioFastForward 和AudioRewind 可 以 向 前 和 后 跳 过 一 句 朗 读, 通 过 读 写Speed 属 性 还 可 以 取 得 或 设 置 朗 读 的 语 速, 单 位 是 字/ 分, 缺 省 值 为170。 ----注 意Speed 和Enabled 属 性 缺 省 设 置 是 只 写 的, 但 实 际 上IVTxtAuto 提 供 了Get_Speed 和Get_Enabled 函 数, 所 以 我 们 只 要 把VTxtAuto_TLB 单 元 中 的 声 明 修 改 一 下, 如: ...IVTxtAuto = interface(IDispatch) ... property Speed: Integer read Get_Speed write Set_Speed; property Enabled: Integer read Get_Enabled write Set_Enabled; ...end; ... ----即 可 正 常 使 用Speed 和Enabled 属 性 了。 ----至 此, 一 个 简 单 的 英 文 全 文 朗 读 器 就 完 成 了, 有 兴 趣 的 朋 友 可 以 为 其 加 入 监 视 剪 贴 板, 热 键 激 活 等 功 能。
神啊,救救我吧!
.msm文件是包含注册信息的安装模块,只要包含在visual studio installer的工程中即可,可以自动安装。
最后生成.msi文件,会调用windows installer自动安装。对否?
可是我现在的sp5.msm.spintll.msm等等文件到底到哪里去找阿?大虾们啊?快来救救俺吧!
只支持中文,.msi文件,可是我怎样才能在我的安装文件中自动安装这个.msi文件呢?对了,谁要这个包,给我发邮件吧,[email protected].