首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#话音控制系统

2012-11-05 
C#语音控制系统本人略懂C#开发 现在想做一个 语音控制电脑的软件(比如我对麦克说:“软件指令(作为开始) 关

C#语音控制系统
本人略懂C#开发 现在想做一个 语音控制电脑的软件(比如我对麦克说:“软件指令(作为开始) 关机操作(指令内容) 结束(作为结束)” 类似这样一段指令,电脑就会关机~)
之前有在网上找过相关资料 多数的代码如下(全是雷同的资料。汗~。)

C# code
using System.Windows.Forms;using System.Speech.Recognition;//包using System.Speech;namespace VoiceControl{    public partial class Form1 : Form    {        private SpeechRecognitionEngine SRE = new SpeechRecognitionEngine();        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            SRE.SetInputToDefaultAudioDevice();            GrammarBuilder GB = new GrammarBuilder();            GB.Append("选择");            GB.Append(new Choices(new string[] { "红色", "绿色" }));            Grammar G = new Grammar(GB);            G.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(G_SpeechRecognized);            SRE.LoadGrammar(G);            SRE.RecognizeAsync(RecognizeMode.Multiple);        }        void G_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)        {            if (e.Result.Text.Equals("选择红色"))            {                BackColor = Color.Red;            }            else if (e.Result.Text.Equals("选择绿色"))            {                BackColor = Color.Green;            }        }    }}


然后一运行就完蛋了。。。
 SRE.SetInputToDefaultAudioDevice();  
报错:Value does not fall within the expected range. 
本人英语能力一般 百度翻译 说是:值不在预期的范围。
 值得说一下的是我的系统是XP的 装了Speech SDK 5.1以及中文语音包
为什么是这种情况嘞?

[解决办法]
http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine.setinputtodefaultaudiodevice.aspx

热点排行