透過WP8語音辨識功能啟動自己撰寫的App

前面提到過,Windows Phone 8 具有相當優秀的語音辨識能力,我們不僅可以輕易的讓我們自己撰寫的App,透過語音來啟動,甚至也可以在App當中利用語音辨識功能來實作出一些效果。

接著我們就要來看,如何讓我們自己撰寫的App,也支援語音辨識功能。首先來看最基本的,我們要讓使用者可以透過語音來開啟我們的App。

實作的方式很簡單,首先,請先設定好你的App的WMAppManifest.xml,主要的是App名稱以及Capabilities中的Speech_Recognition:
 
設定好了之後,請在你的App中加入一個 XML 檔案(SupportedVoiceCommands.xml),格式如下:

  

     我的語音程式 
     試試看說:開啟 我的語音程式 

    
      跳到測試頁
      跳到測試頁
      我的語音程式 顯示測試頁
      
    
  

上面這段XML主要在描述我們這支App要支援那些語音辨識功能。
接著,再到App.xaml.cs當中,加入底下這段程式碼:
        async private static void InitializeVoiceCommands()
        {
            var filename = "SupportedVoiceCommands.xml";

            try
            {
                var location = Package.Current.InstalledLocation.Path;
                var fileUriString = String.Format("file://{0}/{1}", location, filename);
                await VoiceCommandService.InstallCommandSetsFromFileAsync
                    (new Uri(fileUriString));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
上面這段程式碼,是讓我們所撰寫的語音指令XML檔案,透過VoiceCommandService進行註冊。 當然,在App.xaml.cs的public App()當中,我們要補上一句:
        public App()
        {
           ...略...

            InitializeVoiceCommands();
        }
如此一來,就大功告成囉...來試試看吧...

留言

Robin 李瑞彬寫道…
進入App程式中,還能繼續使用語音辨識,做其他的指令 ?

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

在POC或迷你專案中使用 LiteDB

專業的價值...

精彩(且驚人)的Semantic Kernel入門範例

周末讀書會 - 一如既往