在C#中實現語音識別可以通過使用Microsoft提供的Speech SDK來實現。以下是一個簡單的示例代碼,演示如何在C#中實現框架窗口的語音識別:
首先,你需要安裝Microsoft Speech SDK并在項目中引用相關的命名空間:
using Microsoft.CognitiveServices.Speech;
然后,你可以在窗體加載時初始化語音識別引擎,并開始識別語音輸入:
private async void Form1_Load(object sender, EventArgs e)
{
var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
using (var recognizer = new SpeechRecognizer(config))
{
var result = await recognizer.RecognizeOnceAsync();
if (result.Reason == ResultReason.RecognizedSpeech)
{
MessageBox.Show("Recognized: " + result.Text);
}
else if (result.Reason == ResultReason.NoMatch)
{
MessageBox.Show("No speech could be recognized.");
}
else if (result.Reason == ResultReason.Canceled)
{
var cancellation = CancellationDetails.FromResult(result);
MessageBox.Show($"CANCELED: Reason={cancellation.Reason}");
}
}
}
在上面的代碼中,你需要替換YourSubscriptionKey
和YourServiceRegion
為你自己的Subscription Key和Service Region。然后,你可以調用RecognizeOnceAsync
方法來開始識別語音輸入,并在識別完成后處理識別結果。
當用戶說話時,識別結果將會顯示在一個消息框中。你可以根據需要在識別結果中執行其他操作。
需要注意的是,以上示例代碼僅僅是一個簡單的演示,你可以根據自己的需求和場景進一步擴展和優化。