C#调用vbs脚本实现Windows版Siri
最近新加入,把自己一些有意思的小東西分享給大家,我是一個(gè)學(xué)生,代碼寫(xiě)得少,哪里不規(guī)范,希望大家見(jiàn)諒。
這事我封裝好的一個(gè)類(lèi),可以直接實(shí)例化對(duì)象之后,調(diào)用"對(duì)象.Talk()"方法,讓機(jī)器讀出你傳遞進(jìn)去的字符串。
這個(gè)程序原理很簡(jiǎn)單,就是創(chuàng)建文件讀寫(xiě)流,在D:\Alarm下創(chuàng)建一個(gè)sys.vbs文件,里面寫(xiě)入CreateObject("SAPI.SpVoice").Speak "你的字符串",然后執(zhí)行這個(gè)vbs,就可以讓你的電腦發(fā)聲啦,聽(tīng)說(shuō)Windows下的大多數(shù)是女聲,反正我的電腦上是女聲。
程序很簡(jiǎn)單,至于文件夾創(chuàng)建,因?yàn)槭俏覍?xiě)的一個(gè)外部程序,沒(méi)有把文件夾的判斷創(chuàng)建放進(jìn)去,如果要自己生成的話記得 加上文件夾存在與否的判斷。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 using System.Windows.Forms; 7 8 namespace 電腦對(duì)話 9 { 10 class ComTalk 11 { 12 private void runthis() 13 { 14 System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo(); 15 16 //設(shè)置外部程序名 17 Info.FileName = "sys.vbs"; 18 19 //設(shè)置外部程序工作目錄為 D:\Alarm 20 Info.WorkingDirectory = @"D:\Alarm"; 21 22 //最小化方式啟動(dòng) 23 Info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized; 24 25 //聲明一個(gè)程序類(lèi) 26 System.Diagnostics.Process Proc; 27 28 try 29 { 30 Proc = System.Diagnostics.Process.Start(Info); 31 System.Threading.Thread.Sleep(500); 32 } 33 catch (System.ComponentModel.Win32Exception) 34 { 35 36 return; 37 } 38 } 39 public void Talk(string s) 40 { 41 string content = string.Empty; 42 FileStream fs = new FileStream("D:\\Alarm\\sys.vbs", FileMode.OpenOrCreate, FileAccess.Write); 43 fs.SetLength(0); 44 if (s == string.Empty) 45 { 46 MessageBox.Show("輸入的內(nèi)容不能為空"); 47 } 48 else 49 { 50 StreamWriter sw = new StreamWriter(fs, Encoding.Default); 51 content = s.Trim(); 52 content = @"CreateObject(""SAPI.SpVoice"").Speak """.Trim() + content + @"""".Trim(); 53 sw.Write(content); 54 sw.Close(); 55 } 56 runthis(); 57 } 58 } 59 }?
作者:letcafe 出處:http://www.cnblogs.com/letcafe/-------------------------------------------
個(gè)性簽名:編程水太深,先會(huì)造輪子!
如果覺(jué)得這篇文章對(duì)你有小小的幫助的話,記得在右下角點(diǎn)個(gè)“推薦”哦,博主在此感謝!
總結(jié)
以上是生活随笔為你收集整理的C#调用vbs脚本实现Windows版Siri的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Maven 搭建spring boot多
- 下一篇: Lucene6.0 创建索引及查询te