くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

UWP に音声認識の機能をつけちゃおう!

de:code のキーノートを見てたら、 Cortana さんは音声認識してるっぽいから UWP でもそれっぽいことできないかなーって探したらよさ気なのがあったので、やってみました。

  1. Visual Studio 2015 で UWP のプロジェクトを作ります。 f:id:kuxumarin:20160601004709p:plain
  2. 今回は、ボタンが押されたら音声認識してもらう!って感じにしたいので Xaml の画面に適当なボタンを配置して、ボタンをダブルクリックしてボタンのクリックのイベントハンドラを作ります。 f:id:kuxumarin:20160601005829p:plain 3.コードの方も作成していきます。 以下のコードをプロジェクトのMainpage.xaml.cs に貼り付けます。
using Windows.Media.SpeechRecognition;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;
using System;

namespace Voice_Sample
{
    public sealed partial class MainPage : Page
    {
        public SpeechRecognizer Recognizer { get; set; } = new SpeechRecognizer();

        public  MainPage()
        {
            this.InitializeComponent();
        }

        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            await Recognizer.CompileConstraintsAsync();
        }

        private async void button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            var result = await Recognizer.RecognizeWithUIAsync();
             await new ContentDialog() {Title = result.Text, PrimaryButtonText = "OK"}.ShowAsync();
        }
    }
}
  1. コード・UI両方できたので最後に一工夫です!UWPアプリでマイクを使う場合には、Manifest ファイルに「マイクを使うよー(^o^)」って宣言しなければいけないので、ソリューションエクスプローラーの中から開いて宣言してください! f:id:kuxumarin:20160601010509p:plain

  2. それでは、待ちに待った実行する時がやって来ました((o(´∀`)o))ワクワク f:id:kuxumarin:20160601010727p:plain f:id:kuxumarin:20160601010719p:plain f:id:kuxumarin:20160601011204p:plain

できたー(≧∇≦)b

お疲れ様でした(^o^)

参考にしたサイト

SpeechRecognizer クラス (System.Speech.Recognition)

UWPで音声認識 - かずきのBlog@hatena