明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: another2121

能让AUTOCAD 说话的程序

  [复制链接]
发表于 2011-4-2 12:45:37 | 显示全部楼层
本帖最后由 zml84 于 2011-4-2 12:48 编辑

原文地址:http://zml84.blog.sohu.com/45480648.html
想让你的LISP程序说话吗? 答案是安装微软中文语言引擎后,使用下面这个函数即可实现。
语音练习.lsp
;|;=====================================================================
        定义函数:zml-speak ( str mode )                                       
        功    能:将字符转换为语音输出                                       
        参数说明:        str----欲语音输出的内容,类型:字符串               
                        mode---语音模式(0--英文;1--中文)               
        返回值        :若成功为字符串,否则为nil                               
        示    例:(zml-speak "欢迎您!" 1)                               
                        返  回:"欢迎您!"                               
        日    期:zml84 于2007-05-10                                       
|;
(defun zml-speak (str mode)
    (if        (= (type str) 'STR)
        (if (setq sapi (vlax-create-object "Sapi.SpVoice"))
            (progn
                (cond
                    ;;使用英文引擎
                    ((= mode 0)
                     (setq speekContent
                              "<VOICE REQUIRED='NAME=Microsoft Sam'>"
                     )
                    )
                    ;;使用中文引擎
                    ((= mode 1)
                     (setq speekContent
                              "<VOICE REQUIRED='NAME=Microsoft Simplified Chinese'>"

                     )
                    )
                ) ;_结束 cond
                (setq speekContent
                         (strcat speekContent
                                 str
                                 "</VOICE>"
                         )
                )

                (setq str speekContent)
                ;;(vlax-invoke-method sapi "Speak" str 3)
                (vlax-invoke
                    sapi
                    "Speak"
                    str
                    0
                )
                (vlax-release-object sapi)
                str
            )
        )
    )
)
;;;=====================================================================
;;;练习
(vl-load-com)
(defun c:speak (/ tmp)
    (if        (zml-speak "输入词句!" 1)
        (while (/=
                   (setq tmp (getstring "\n输入字词或句子:"))
                   ""
               )
            (zml-speak tmp 1)
        )
        (princ "\n不能继续,原因是:系统中未安装语音工具包。")
    )
    (princ)
)
;;;=====================================================================
;;;加载后的提示信息
(princ "\n语音提示练习 加载完成!!")
(zml-speak "加载完成!!" 1)
(princ "\n★输入命令\"speak\"开始运行\n")
(princ)
有关微软中文语言引擎介绍及下载,请点击这里:http://support.microsoft.com/kb/320207/zh-cn
下载地址:
http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/speechsdk51LangPack.exe

发表于 2011-4-2 18:44:59 | 显示全部楼层
这个倒是很先进呀,试试
发表于 2011-4-2 22:00:50 | 显示全部楼层
看看这个,不知好用不
发表于 2011-4-3 11:01:45 | 显示全部楼层
谢谢了,太神了
发表于 2011-4-3 11:40:23 | 显示全部楼层
怎么运用呀各位师傅
发表于 2011-4-4 08:47:53 | 显示全部楼层
太强悍了哦,
发表于 2011-4-6 20:26:06 | 显示全部楼层
长见识!
发表于 2011-4-14 12:00:21 | 显示全部楼层
呵呵,有点意思
发表于 2011-4-14 16:45:04 | 显示全部楼层
着实历害,配服配服!!1
发表于 2011-4-23 20:52:04 | 显示全部楼层
为什么提示:no function definition: VLAX-CREATE-OBJECT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 07:28 , Processed in 0.164431 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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