网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 vbs 调用中文语音让你电脑听你的命令的实现代码
内容
    关于vbs调用中文语音让你电脑听你的命令的实现代码,需要的朋友可以参考下。
    如果你机器本身装了office的话,可能不需要装以下软件,我机器由于装的是openoffice,所以我提前装了
    speechsdk51.exe
    CNSpeechPackage.msi
    这两个软件。如果让电脑朗读,参考下面的代码
    代码如下:
    ReadAllTextFile=CreateObject("Scripting.FileSystemObject").OpenTextFile(Wscript.Arguments(0), 1).ReadAll
    Function RegExpTest(patrn, strng)
    Dim regEx, Match, Matches ' 建立变量。
    Set regEx = New RegExp ' 建立正则表达式。
    regEx.Pattern = patrn ' 设置模式。
    regEx.IgnoreCase = True ' 设置是否区分大小写。
    regEx.Global = True ' 设置全程可用性。
    Set Matches = regEx.Execute(strng) ' 执行搜索。
    For Each Match in Matches ' 遍历 Matches 集合。
    RetStr = RetStr & Match.value&" "
    RetStr = RetStr & vbCRLF
    Next
    RegExpTest = RetStr
    End Function
    Set objVoice = CreateObject("SAPI.SpVoice")
    Set objVoice.Voice = objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
    objVoice.Rate = 3 '速度:-10,10 0
    objVoice.Volume = 100 '声音:0,100 100
    objVoice.Speak RegExpTest("[\u4e00-\u9fa5]", ReadAllTextFile)
    或是装完speechsdk51.exe之后可以参考
    C:\Program Files\Microsoft Speech SDK 5.1\Samples\Scripts\SimpleTTS\SimpleTTS.html这个文件。
    如果让电脑听你的命令,下边是vbs代码
    代码如下:
    '==========================================================================
    ' Name : CommandPC.VBS
    ' AUTHOR : HUAYING
    ' DATE : 2005-1-31
    '==========================================================================
    Dim CommandDictionary '命令字典对象
    Dim WshShell 'WshShell对象提供对本地Windows程序的访问。
    Dim ScriptComplete '程序结束标志
    Dim SR '语音识别(Speech Recognition)对象
    Dim Grammar '语音识别的命令语法对象
    '初始化命令字典对象,可根据自己的需要添加命令
    Set CommandDictionary = CreateObject("Scripting.Dictionary")
    CommandDictionary.Add "上网","""C:\Program Files\Internet Explorer\iexplore.exe""" '注意双引号的数目
    CommandDictionary.Add "计算器", "calc"
    CommandDictionary.Add "记事本", "notepad"
    CommandDictionary.Add "空当接龙", "freecell"
    Set WshShell = CreateObject("WScript.Shell") '创建WshShell对象
    ScriptComplete = False '初始化程序结束标志
    '创建语音识别对象,调用由"Command.XML"所定义的语法,并启动语音识别引擎
    Set SR = WScript.CreateObject("SAPI.SpSharedRecoContext", "RecoContext_")
    Set Grammar = SR.CreateGrammar
    Grammar.CmdLoadFromFile "x.xml", SLODynamic
    Grammar.CmdSetRuleIdState 0, 1
    MsgBox "你好,主人,请吩咐。"
    '等候你的语音命令(需要安装麦克风)
    '当识别出"命令结束"命令时程序结束
    Do
    WScript.Sleep 1000
    Loop Until ScriptComplete
    MsgBox "欢迎再跟我说话,再见!"
    '你的语音命令被识别
    Sub RecoContext_Recognition(ByVal StreamNumber,ByVal StreamPosition,ByVal RecognitionType,ByVal Result )
    Text = Result.PhraseInfo.GetText '获取语音识别引擎所识别的命令
    If Text <> "命令结束" Then
    WshShell.Run CommandDictionary.Item(Text) '由WshShell对象Run方法执行你的命令
    Else
    ScriptComplete = true '程序结束标志
    End If
    End Sub
    ==================================
    x.xml源码
    代码如下:
    <?xml version="1.0" encoding="gb2312" ?>
    <GRAMMAR LANGID="804">
    <RULE NAME="命令" TOPLEVEL="ACTIVE">
    <L>
    <P>上网</P>
    <P>计算器</P>
    <P>记事本</P>
    <P>空当接龙</P>
    <P>命令结束</P>
    </L>
    </RULE>
    </GRAMMAR>
    ========在中文的机器上直接运行这个vbs,很有可能出现0x80045052错误,解决办法:
    控制面板---语音-语音认别选项卡------------》改成Microsoft Simplified Chinese
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 0:41:46