私はWindows::Media::SpeechRecognition
をWindows10上で動作させようとしていますが、Hello World Appの動作に問題があります。ここでWindows音声認識Hello World not working
は私がやったことです:
void App::Init()
{
speechRecognizer = ref new Windows::Media::SpeechRecognition::SpeechRecognizer(Windows::Media::SpeechRecognition::SpeechRecognizer::SystemSpeechLanguage);
Platform::Collections::Vector<String^>^ speech_command_list = ref new Platform::Collections::Vector<String^>();
speech_command_list->Append(StringReference(L"pause"));
speech_command_list->Append(StringReference(L"play"));
speech_command_list->Append(StringReference(L"download"));
speech_command_list->Append(StringReference(L"test"));
SpeechRecognitionListConstraint^ speech_constraint = ref new SpeechRecognitionListConstraint(speech_command_list);
speechRecognizer->Constraints->Append(speech_constraint);
create_task(speechRecognizer->CompileConstraintsAsync()).then([this](SpeechRecognitionCompilationResult^ compilationResult)
{
if (compilationResult->Status == SpeechRecognitionResultStatus::Success)
{
speechRecognizer->ContinuousRecognitionSession->ResultGenerated += ref new TypedEventHandler<SpeechContinuousRecognitionSession^, SpeechContinuousRecognitionResultGeneratedEventArgs^>(this, &App::OnSpeechRecognized);
speechRecognizer->HypothesisGenerated += ref new TypedEventHandler<Windows::Media::SpeechRecognition::SpeechRecognizer^, SpeechRecognitionHypothesisGeneratedEventArgs^>(this, &App::OnHypothesisGenerated);
speechRecognizer->StateChanged += ref new TypedEventHandler<Windows::Media::SpeechRecognition::SpeechRecognizer^, SpeechRecognizerStateChangedEventArgs^>(this, &App::OnStateChanged);
speechRecognizer->RecognitionQualityDegrading += ref new TypedEventHandler<Windows::Media::SpeechRecognition::SpeechRecognizer^, SpeechRecognitionQualityDegradingEventArgs^>(this, &App::OnQualityIssue);
TimeSpan endSilenceTime;
endSilenceTime.Duration = 12000000L;
speechRecognizer->Timeouts->EndSilenceTimeout = endSilenceTime; // (1.2 seconds in nanoseconds)
speechRecognizer->ContinuousRecognitionSession->StartAsync();
}
else
{
// Handle errors here.
}
});
}
:
私は
にOnLaunched()
方法でVS2017を新しいUWP空白のAppを作成し、私は音声認識を初期化するために、私の
Init()
メソッドを呼び出しますコードは、音声制約のコンパイルが成功したため、コンパイルして起動します。新しい状態値を持つコールバックで一度として
Idle
そして、それはこれだけです。私のマイクに話すとき、私はもうコールバックを受け取らない。
私のマイクは正しく接続されています。これはWindowsのデフォルトのマイクで、機能しています。