Windows phone 8 Voice Command 語音命令淺析

來源:互聯網
上載者:User

Windows phone 8 這個新平台帶給我們的驚喜還是很多的,其中內建支援中文語音命令,這點讓人印象深刻.

我們可以通過編碼為WP8程式添加語音互動的功能.比如情境如下:

拿人人用戶端舉例:使用者可以任意介面長按home,然後對著手機說:"人人 髮狀態"那麼這種情境下如果微博內部進行了處理,便可以相應並進入狀態發佈頁面。如此是很棒的使用者體驗。那麼我們要如何處理呢?

下面我們來類比下這個情境(事實上人人用戶端確實支援語音命令:-))

實現   

1、配置語音控制檔案

   

需要配置如下xml檔案: 

<?xml version="1.0" encoding="utf-8"?>   <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"><CommandSet xml:lang="zh-cn"><CommandPrefix>人人</CommandPrefix><Example> 人人 髮狀態 </Example>   <Command Name="Navigate"><Example> 人人 髮狀態 </Example><ListenFor> {Action} </ListenFor><Feedback> 正在 {Action}... </Feedback><Navigate Target="/Views/EditPage.xaml?Type=2&amp;from=voiceCommand"/></Command> <PhraseList Label="Action"><Item> 髮狀態 </Item><Item> 狀態 </Item></PhraseList></CommandSet></VoiceCommands>  

我們分別看下檔案中的結點對應的含義:

首先xml:lang這裡由於我們要識別中文命令,那麼需要將語言設定為zh-cn

   

CommandPrefix:命令的首碼 語音命令由首碼和具體命令組成

Example: 命令的例子,這個將出現在如下介面表示能識別的語音的例子

Command:一個command標籤代表一個識別的命令

ListenFor:這個裡面使用了{Action} Action在後面的PhraseList裡面有定義,表明要識別

的命令為下面之一

FeedBack:這個是使用者說完話之後系統說給使用者的一段話

Navigate Target 故名思議,就是識別命令後要導航的程式內的目的地址(注意下由於我們的設定檔是xml類型所以當導航參數多的時候需要對&進行轉義)

ParaseList:前面提到的要識別的命令,我們可以在其中加入任何想識別的文字比如<Item>走你</Item>

   

對這個檔案的簡單解釋就到這裡,這種設定檔的結構,我們在用戶端內,只需要將VoiceCommand的處理方式和Second Tile保持一致即可

   

2、添加此檔案到工程中(這步簡單不用說了)

3、在用戶端內添加初始化命令的代碼

await VoiceCommandService.InstallCommandSetsFromFileAsync(new Uri("ms-appx:///Voice.xml",UriKind.Absolute));

此處有一點需要注意,這裡需要使用上面格式的絕對路徑,否則報錯,具體原因是因為Uri類型問題(有興趣的朋友可以自己找下先關文檔)

   

另附上msdn對此處的文檔:

http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/jj206959(v=vs.105).aspx

   

如此我們便輕鬆添加語音控制到我們的程式,對於更高的業務需求本文沒有涉及,只是讓大家簡單的瞭解下windows phone 8 的語音控制

如有問題歡迎與我留言交流,或者加入QQ群:182659848

   

   

   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.