开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4649|回复: 21
打印 上一主题 下一主题
收起左侧

[易语言纯源码] 朗读 纯源码 高深[有图]!!!!!!!!!!!!!!!!!!!!!!!!!

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-20 11:49:55 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   浙江省杭州市
分享源码
界面截图:
是否带模块: -
备注说明: -
.版本 2
.支持库 ESpeechEngine
.支持库 eAPI
.支持库 spec
.支持库 eMMedia
.程序集 窗口程序集1
.程序集变量 机读文本, 机读文本
.程序集变量 OldProc, 整数型
.程序集变量 MyMsg, 整数型
.程序集变量 tmp, NotifyIconData
.程序集变量 A, 整数型
.程序集变量 文件号, 整数型
.子程序 _时钟1_周期事件
.如果 (A < 255)
    A = A + 2
    设置窗口透明度 (_启动窗口.取窗口句柄 (), A)
.否则
    时钟1.时钟周期 = 0
.如果结束

.子程序 _时钟2_周期事件
.如果 (A > 0)
    A = A - 2
    设置窗口透明度 (_启动窗口.取窗口句柄 (), A)
.否则
.如果结束

.子程序 __启动窗口_可否被关闭, 逻辑型
机读文本.停止发音 ()
A = 255
时钟2.时钟周期 = 10
延迟 (1980)
销毁 ()
.子程序 __启动窗口_创建完毕
.局部变量 语音库, 文本型, , "0"
.局部变量 N
机读文本.重新创建并初始化 ()
语音库 = 机读文本.列举语音库 ()
.计次循环首 (取数组成员数 (语音库), N)
    助手.加入项目 (语音库 [N], )
.计次循环尾 ()
助手.现行选中项 = 0
设置窗口透明度 (_启动窗口.取窗口句柄 (), 0)
时钟1.时钟周期 = 10
A = 0
皮肤数 = 读配置项 (取运行目录 () + “\In-joy.ini”, “Skin”, “yzl”, )
文本.内容 = “欢迎使用Tony语音助手!” + #换行符 + #换行符 + “请编辑本文本框进行修改”
.判断开始 (皮肤数 = “0”)
    皮肤 = #默认皮肤
.判断 (皮肤数 = “1”)
    皮肤 = #QQ2008
.判断 (皮肤数 = “2”)
    皮肤 = #QQ2009V1
.判断 (皮肤数 = “3”)
    皮肤 = #QQ2009V2
.判断 (皮肤数 = “4”)
    皮肤 = #REA
.判断 (皮肤数 = “5”)
    皮肤 = #积木
.判断 (皮肤数 = “6”)
    皮肤 = #炫绿
.判断 (皮肤数 = “7”)
    皮肤 = #QQ影音
.判断 (皮肤数 = “8”)
    皮肤 = #黑色
.判断 (皮肤数 = “9”)
    皮肤 = #MSN
.判断 (皮肤数 = “10”)
    皮肤 = #aero
.判断 (皮肤数 = “11”)
    皮肤 = #asus
.判断 (皮肤数 = “12”)
    皮肤 = #中国风
.判断 (皮肤数 = “13”)
    皮肤 = #Vista
.判断 (皮肤数 = “14”)
    皮肤 = #office2007
.判断 (皮肤数 = “15”)
    皮肤 = #compact
.判断 (皮肤数 = “16”)
    皮肤 = #darkroyale
.判断 (皮肤数 = “17”)
    皮肤 = #dogmax
.判断 (皮肤数 = “18”)
    皮肤 = #elegance
.判断 (皮肤数 = “19”)
    皮肤 = #enjoy
.判断 (皮肤数 = “20”)
    皮肤 = #gem
.判断 (皮肤数 = “21”)
    皮肤 = #hlong
.判断 (皮肤数 = “22”)
    皮肤 = #homestead
.判断 (皮肤数 = “23”)
    皮肤 = #insomnia
.判断 (皮肤数 = “24”)
    皮肤 = #longhorn
.判断 (皮肤数 = “25”)
    皮肤 = #ouframe
.判断 (皮肤数 = “26”)
    皮肤 = #pixos
.判断 (皮肤数 = “27”)
    皮肤 = #qqgame
.判断 (皮肤数 = “28”)
    皮肤 = #royale
.判断 (皮肤数 = “29”)
    皮肤 = #storm
.判断 (皮肤数 = “30”)
    皮肤 = #wish
.判断 (皮肤数 = “31”)
    皮肤 = #Xenes
.判断 (皮肤数 = “32”)
    皮肤 = #xmp
.判断 (皮肤数 = “”)
    皮肤 = #默认皮肤
.默认
.判断结束
SkinH_AttachRes (皮肤, 取字节集长度 (皮肤), “”, 0, 0, 0)
OldProc = SetWindowLongA (_启动窗口.取窗口句柄 (), #GWL_WNDPROC, 到数值 (&NewProc))  ' 重新设置主窗口函数过程,拦截消息
MyMsg = RegisterWindowMessageA (“TaskbarCreated”)  ' 注册一个消息,任务栏重建时发送MyMsg消息,拦截此消息重新添加托盘图标。
tmp.cbSize = 488  ' 结构体的大小
tmp.hwnd = _启动窗口.取窗口句柄 ()
tmp.hIcon = _启动窗口.发送信息 (#WM_GETICON, 0, 0)  ' 取主窗口的图标句柄
tmp.uID = 1  ' 托盘图标ID
tmp.uFlags = 位或 (#NIF_TIP, #NIF_ICON, #NIF_MESSAGE)
tmp.uCallbackMessage = 12345  ' 这是自定义消息,当发生托盘事件时会向主窗口发送此消息。
lstrcpyn (tmp.szTip, “易语言”, 取文本长度 (“易语言”) + 1)  ' 把文本写入字符数组
Shell_NotifyIconA (#NIM_ADD, tmp)  ' 添加托盘图标。
tmp.uFlags = #NIF_INFO  ' 气泡提示
lstrcpyn (tmp.szInfo, “欢迎使用Tony语音助手!” + #换行符 + #换行符 + “邮箱:[email protected]”, 取文本长度 (“欢迎使用Tony语音助手!” + #换行符 + #换行符 + “E-mail:[email protected]”) + 1)
lstrcpyn (tmp.szInfoTitle, “【Tony语音助手】”, 取文本长度 (“【Tony语音助手】”) + 1)
tmp.dwInfoFlags = #NIIF_INFO  ' 信息图标
Shell_NotifyIconA (#NIM_MODIFY, tmp)  ' 修改托盘图标
速度.位置 = 到整数 (读配置项 (取运行目录 () + “\In-joy.ini”, “YZL”, “YZL”, ))
音量 = 到整数 (读配置项 (取运行目录 () + “\In-joy.ini”, “Sound”, “size”, ))
.如果 (系统音量1.打开 (#音量类型.主音量) = 0)
    信息框 (“系统音量打开失败!,您可能听不到声音!”, 48, )
.否则
    系统音量1.置音量 ((音量 - 1) × 650, (音量 - 1) × 650)
    系统音量1.关闭 (2)
.如果结束

.子程序 NewProc, 整数型
.参数 hwnd, 整数型
.参数 uMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.判断开始 (uMsg = MyMsg)  ' 任务栏被重建
    Shell_NotifyIconA (#NIM_DELETE, tmp)  ' 删除原来的图标
    tmp.uFlags = 位或 (#NIF_TIP, #NIF_ICON, #NIF_MESSAGE)
    Shell_NotifyIconA (#NIM_ADD, tmp)  ' 添加图标
.判断 (uMsg = #WM_DESTROY)
    Shell_NotifyIconA (#NIM_DELETE, tmp)  ' 删除图标
.默认
.判断结束
返回 (CallWindowProcA (OldProc, hwnd, uMsg, wParam, lParam))
.子程序 __启动窗口_尺寸被改变
.如果 (按钮2.标题 = “附加功能” + #换行符 + “→→→→”)
    文本.移动 (3, 34, 取用户区宽度 () - 6, 取用户区高度 () - 150)
.否则
    按钮2.标题 = “附加功能” + #换行符 + “←←←←”
    文本.移动 (3, 34, 取用户区宽度 () - 91, 取用户区高度 () - 150)
.如果结束
标签1.左边 = (_启动窗口.宽度 - 标签1.宽度) ÷ 2
助手.移动 (取用户区宽度 () - 275, 取用户区高度 () - 102, 266, 20)
标签2.移动 (取用户区宽度 () - 372, 取用户区高度 () - 100, 94, 16)
按钮1.移动 (11, 取用户区高度 () - 107, 142, 29)
按钮2.移动 (取用户区宽度 () - 75, 2, 66, 30)
.如果 (按钮2.标题 = “附加功能” + #换行符 + “→→→→”)
    按钮3.可视 = 假
    按钮5.可视 = 假
    按钮6.可视 = 假
    按钮7.可视 = 假
    按钮8.可视 = 假
    按钮9.可视 = 假
    分组框1.可视 = 假
.否则
    按钮2.标题 = “附加功能” + #换行符 + “←←←←”
    按钮3.可视 = 真
    按钮5.可视 = 真
    按钮6.可视 = 真
    按钮7.可视 = 真
    按钮8.可视 = 真
    按钮9.可视 = 真
    分组框1.可视 = 真
    分组框1.移动 (取用户区宽度 () - 83, 取用户区高度 () - 382, 80, 260)
    按钮3.移动 (取用户区宽度 () - 76, 取用户区高度 () - 363, 66, 25)
    按钮5.移动 (取用户区宽度 () - 76, 取用户区高度 () - 323, 66, 25)
    按钮7.移动 (取用户区宽度 () - 76, 取用户区高度 () - 283, 66, 25)
    按钮6.移动 (取用户区宽度 () - 76, 取用户区高度 () - 243, 66, 25)
    按钮9.移动 (取用户区宽度 () - 76, 取用户区高度 () - 203, 66, 25)
    按钮8.移动 (取用户区宽度 () - 76, 取用户区高度 () - 163, 66, 25)
.如果结束
朗读.移动 (11, 取用户区高度 () - 40, 145, 29)
停止.移动 (170, 取用户区高度 () - 40, 145, 29)
按钮4.移动 (取用户区宽度 () - 105, 取用户区高度 () - 40, 92, 29)
导出.移动 (取用户区宽度 () - 105, 取用户区高度 () - 70, 92, 20)
标签3.移动 (10, 取用户区高度 () - 70, 92, 20)
速度.移动 (69, 取用户区高度 () - 71, 取用户区宽度 () - 175, 25)
分组框2.移动 (4, 取用户区高度 () - 48, 318, 43)
.如果真 (_启动窗口.高度 ≤ 220)
    _启动窗口.高度 = 220
.如果真结束
.如果真 (_启动窗口.宽度 ≤ 450)
    _启动窗口.宽度 = 450
.如果真结束
.如果真 (_启动窗口.宽度 ≤ 550)
    标签2.移动 (165, 取用户区高度 () - 100, 94, 16)
    助手.移动 (261, 取用户区高度 () - 102, 取用户区宽度 () - 270, 20)
.如果真结束

.子程序 _按钮1_被单击
.如果真 (导入文本.打开 ())
    .如果真 (文件号 ≠ 0)
        关闭文件 (文件号)
    .如果真结束
    文件号 = 打开文件 (导入文本.文件名, , )
    文本.内容 = 读入文本 (文件号, )
.如果真结束

.子程序 _朗读_被单击
.如果 (文本.内容 ≠ “”)
    .如果真 (助手.现行选中项 = -1)
        信息框 (“请选择朗读助手”, 0, )
        返回 ()
    .如果真结束
    机读文本.设置语音库 (助手.取项目文本 (助手.现行选中项))
    机读文本.文本到语音 (0, “欢迎使用Tony语音助手!即将朗读文本框里的文字,请稍候。。” + 文本.内容 + “。朗读完毕!谢谢使用!”, , )
    标签1.标题 = “正在朗读…”
    停止.禁止 = 假
    朗读.禁止 = 真
.否则
    文本.内容 = “”
    信息框 (“请输入朗读内容!”, 0, “YZl”)
.如果结束
写配置项 (取运行目录 () + “\encounter\yzl.ini”, “LOVE”, “yzl”, 调试输出字节集 (到字节集 (文本.内容)))
.子程序 _导出_被单击


结帖率:43% (3/7)
22
发表于 2020-2-6 23:03:11 | 只看该作者   四川省眉山市
0000000000000000000000
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 22 天

21
发表于 2020-2-6 20:13:49 | 只看该作者   湖北省武汉市
厉害了
回复 支持 反对

使用道具 举报

结帖率:74% (23/31)
20
发表于 2014-4-10 00:14:12 | 只看该作者   上海市上海市
这尼玛源码有点狠啊....
回复 支持 反对

使用道具 举报

结帖率:57% (13/23)

签到天数: 1 天

19
发表于 2013-11-26 21:23:23 | 只看该作者   上海市上海市
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
18
发表于 2013-11-5 23:38:20 | 只看该作者   江苏省扬州市
{:soso_e102:}好玩的一点
回复 支持 反对

使用道具 举报

17
发表于 2013-10-31 14:42:25 | 只看该作者   陕西省汉中市
学习,我需要!!
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
16
发表于 2013-10-31 13:27:59 | 只看该作者   上海市上海市
{:soso_e118:}
回复 支持 反对

使用道具 举报

15
发表于 2013-9-18 17:14:00 | 只看该作者   广西壮族自治区贵港市
这么多(⊙0⊙)
回复 支持 反对

使用道具 举报

结帖率:37% (7/19)
14
发表于 2013-8-28 23:42:13 | 只看该作者   北京市北京市
你这个有点猛了
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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