Выполнение команд голосом - C#
Формулировка задачи:
Здравствуйте, я новичок, но захотелось поиграться с такой штукой как выполнение команд голосом. Google Voice Search пока не могу разобрать, поэтому хочу попробовать из библиотеки .NET.
Вообщем нашел какой-то код, но не пойму почему ошибки выдает. Сайт http://studentguru.gr/b/vangos/archi...cognition.aspx
Код где ошибка:
// Initialize the speech recognition engine and define the audio input device.
_recognizer = new SpeechRecognitionEngine();
_recognizer.SetInputToDefaultAudioDevice();
// Specify the exact words that the engine will try to recognize.
Choices choices = new Choices("left", "right", "top", "down");
// Create and load a Grammar using the Choices above.
GrammarBuilder grBuilder = new GrammarBuilder(choices);
Grammar grammar = new Grammar(grBuilder);
_recognizer.LoadGrammar(grammar);
// Create the event handler
_recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_recognizer_SpeechRecognized);
// вот тут на _recognizer_SpeechRecognized
// Start speech recognition
_recognizer.RecognizeAsync(RecognizeMode.Multiple);Решение задачи: «Выполнение команд голосом»
textual
Листинг программы
using System;
using System.Data;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NAudio;
using NAudio.Wave;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
WaveIn waveIn;
WaveFileWriter writer;
string outputFilename = "F:/demo.wav";
void waveIn_DataAvailable(object sender, WaveInEventArgs e)
{
writer.WriteData(e.Buffer, 0, e.BytesRecorded);
}
void waveIn_RecordingStopped(object sender, EventArgs e)
{
waveIn.Dispose();
waveIn = null;
writer.Close();
writer = null;
}
private void button1_Click(object sender, EventArgs e)
{
waveIn = new WaveIn();
waveIn.DeviceNumber = 0;
waveIn.DataAvailable += waveIn_DataAvailable;
waveIn.RecordingStopped += new EventHandler<NAudio.Wave.StoppedEventArgs>(waveIn_RecordingStopped);
waveIn.WaveFormat = new WaveFormat(44100, 2);
writer = new WaveFileWriter(outputFilename, waveIn.WaveFormat);
waveIn.StartRecording();
}
private void button2_Click(object sender, EventArgs e)
{
waveIn.StopRecording();
}
}
}