找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 10567|回复: 2

将文本的内容变成声音输出

[复制链接]
发表于 2009-11-25 23:44:42 | 显示全部楼层 |阅读模式 IP:江苏扬州
所谓让文本发声是指将文本的内容变成声音输出,即让计算机读出文本的内容。这个功能在实际的教学工作中无疑是很有用的。在Office XP的Excel中,就有“从文本到语音”的功能,但必须在Excel环境下才能实现,这就给我们应用该功能带来了不便。由此,笔者考虑能否开发出脱离Excel环境,让任意文本都会发声的程序。通过实践,笔者用VB6.0开发了“文本朗读”的程序。下面对开发过程做一简单的介绍。
    1.总体思路
     先建立一个标准EXE工程,在窗体上建立三个命令按钮控件、一个通用对话框控件和一个Richtextbox控件,然后通过[打开文件]按钮的触发事件,选择要朗读的文本文件,把文本内容输出到Richtextbox框中,再通过[开始朗读]按钮触发事件,同时调用Excel对象的语音方案,将Richtextbox框中的文本全部朗读出来。
     2.准备工作
     首先要在计算机上安装好Office XP,在安装过程中要将语音功能安装上。然后利用“控制面板”上的“语音”项目展开“语音属性”对话框,进行语言的选择,在下拉框中选择“Microsoft Simplified Chinese”,即选择中文语音功能,否则,只能读出英文而读不出中文。还可以在此对话框中设置计算机生成的不同语音以及语音速度。
     其次,在VB6.0中,要引用通用对话框和Richtextbox两个部件。
     3.对话框和控件的创建
     (1)建立一个标准EXE工程,命名为“Txtsound”,对话框命名为“Frmsound”。
     (2)在对话框上布置一个Richtextbox控件和标签控件,名称分别为Richt和Lebt。
     (3)再在对话框上添加三个命令按钮,第一个是[打开文件]按钮,命名为CmdOpen;第二个是[开始朗读]按钮,命名为CmdRead;第三个是[退出]按钮,命名为CmdExit。
     (4)最后在对话框上添加一个通用对话框,命名为ComD,其Filter属性设为“.txt,.rtf”。
    4.命令按钮的事件代码
     (1)[打开文件]按钮,用于获得文本内容,其鼠标单击事件如下:
     Private Sub CmdOPEN _Click()
     ComD1.ShowOpen #打开“打开文件”对话框
     filename=CommonDialog1.filename #获取选中的文件名
     RichT.LoadFile filename,rtfText #把文件的文本内容输出到文本框
     End Sub
     (2)[开始朗读]按钮,用于调用Excel对象的语音方法,并读出文本框中的文本内容,其鼠标单击事件如下:
     Private Sub CmdRead _Click()
     Set myobject=CreateObject("excel.application") #定义一个Excel对象
     myobject.speech.speak RichT.Text #朗读文本内容
     End Sub
     (3)[退出]按钮,用于关闭对话框,退出朗读程序,其鼠标单击事件如下:
     Private Sub CmdExit _Click()
     FRMSOUND.close #关闭对话框,结束程序
发表于 2010-2-7 21:05:06 | 显示全部楼层 IP:武汉大学
一楼的位置好啊..我考,这是一种文明,我指 的是回帖。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 03:34 , Processed in 0.230629 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表