나는 음성 입력을 허용하는 VS 2012의 C# WPF 응용 프로그램에서 작업하고 있습니다. 후자는 응용 프로그램과 Windows 인식 자 사이에 충돌이 있으므로 SpeechRecognizer 대신 SpeechRecognitionEngine을 사용합니다. 마이크가 연결되면 놀랍도록 작동합니다. 그러나 마이크가 없으면 (유선이 아닌 오디오 I/O가 비활성화되어있는 공용 컴퓨터에서이를 테스트했습니다) 프로그램이 제대로 실행되지 않습니다. 사실상 모두 SetInputToDefaultAudioDevice 메서드가 실행되지 않으면 코드가 실행되지 않습니다. 이 코드는 다음 코드로 테스트했습니다.마이크가 없습니까? SpeechRecognitionEngine SetInputToDefaultAudioDevice() 문제
private void NewWindowLoad(object sender, RoutedEventArgs e)
{
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
// Accept input from the default audio device
sre.SetInputToDefaultAudioDevice();
MessageBox.Show("HELLO");
}
이 경우 MessageBox가 표시되지 않습니다. 분명히,이 코드는 맨손으로 제거됩니다. 실제로, 응용 프로그램은 실제로 언어로 무언가를합니다 ...하지만 문제는 아닙니다.
메서드 실행시 오류나 예외가 발생하지 않습니다. 유일한 예외는 나중에 SpeechRecognitionEngine의 RecognizeAsync() 메서드를 호출하는 것입니다. 이 코드를 실행하기 전에 실제로 사용 가능한 오디오 입력 장치가 있는지 확인하는 방법이 있습니까? 또는이 작업을 수행하는 또 다른 방법이 있습니까? 응용 프로그램은 오디오 입력을 사용할 수 있거나 사용할 수없는 경우 지원되는 모든 OS에서 실행할 수 있어야합니다.