《深入淺出windows phone 8應用開發》之發音合成與語音識別
windows phone從一開始就具有了強大的語音功能,我們可以長按開始鍵就可以呼叫手機的語音識別介面,然後可以通過語音來進行啟動一些任務。那麼在windows phone 8裡面,語音控制的程式設計介面都開放了相關的api給應用程式呼叫,所以在應用程式裡面也一樣可以實現語音的控制。
發音的合成
下面給出發音合成的示例:使用發音合成對文字的內容進行發音。
**清單:發音合成
mainpage.xaml檔案主要**
<mainpage.xaml.cs檔案主要**grid
x:name
="contentpanel"
grid.row
="1"
margin
="12,0,12,0"
>
<
stackpanel
>
<
textbox
name
="textbox1"
text
="hello world!"
/>
<
button
content
="發音"
name
="button1"
click
="button1_click"
/>
<
textblock
x:name
="erro"
/>
stackpanel
>
grid
>
speechsynthesizer voice;//程式執行的效果如圖10.21所示。語音合成物件
public
mainpage()
private
async
void button1_click(object
sender, routedeventargs e)
else
}catch
(exception ex)
}
圖10.21 發音合成
自定義語音識別介面可以通過speechrecognizer類來實現,首先需要先新增監聽的語法,然後通過使用speechrecognizer類recognizeasync方法來監聽語音的識別。
下面給出數字語音識別的示例:對1到10的英文數字發音進行監控,如果監聽到數字的發音則把英文數字單詞顯示出來。
**清單:數字語音識別
mainpage.xaml檔案主要**
<mainpage.xaml.cs檔案主要**grid
x:name
="contentpanel"
grid.row
="1"
margin
="12,0,12,0"
>
<
stackpanel
>
<
textblock
text
="語音識別的內容:"
/>
<
textblock
x:name
="tboutput"
text
=""/>
<
button
content
="開始識別"
name
="continuousrecobutton"
click
="continuousrecobutton_click"
/>
stackpanel
>
grid
>
using程式執行的效果如圖10.22所示。system;
using
system.collections.generic;
using
system.windows;
using
microsoft.phone.controls;
using
windows.foundation;
using
windows.phone.speech.recognition;
namespace
speechrecognizerdemo
); }
catch
(exception err)
}//按鈕單擊事件處理
private
async
void continuousrecobutton_click(object
sender, routedeventargs e)
else
do
else
}catch
(system.threading.tasks.taskcanceledexception)
catch
(exception err)
else}}
while (this.recoenabled);//
迴圈進行監聽語音
} }
}
圖10.21 語音識別數字
系統語音識別介面可以通過speechrecognizerui類來實現,使用的基本語法與speechrecognizer類相類似,系統的語音識別介面通過speechrecognizerui類settings屬性來設定,settings.listentext表示介面的標題,settings.exampletext表示介面的示例內容。
下面給出數字語音識別系統介面的示例:使用系統地語音識別介面,對1到10的英文數字發音進行監控,如果監聽到數字的發音則把英文數字單詞顯示出來。
**清單:數字語音識別
mainpage.xaml檔案主要**
<mainpage.xaml.cs檔案主要**grid
x:name
="contentpanel"
grid.row
="1"
margin
="12,0,12,0"
>
<
stackpanel
>
<
textblock
text
="語音識別的內容:"
/>
<
textblock
x:name
="tboutput"
text
=""/>
<
button
content
="開始識別"
name
="continuousrecobutton"
click
="continuousrecobutton_click"
/>
stackpanel
>
grid
>
using程式執行的效果如圖10.23所示。system;
using
system.collections.generic;
using
system.windows;
using
microsoft.phone.controls;
using
windows.phone.speech.recognition;
namespace
speechrecognizeruidemo
); }
catch
(exception err)
}//按鈕單擊事件處理
private
async
void continuousrecobutton_click(object
sender, routedeventargs e)
else}}
}
圖10.23 系統語音識別介面
Windows Phone 8 實現文字漸隱漸現
這是第二篇有關動畫的部落格,其實這個動畫的原型要更炫一些,還有光暈效果,是我們的設計部老大想出來的,不能不佩服他的想象力。做這個的時候,他在優酷上給我看了乙個別人用ae做的片頭,說,就要這個效果,當時就要跪了,感覺這個動畫要做出來我就可以開工作室,專門給人做啟動畫面了,最後修修改改,刪除了一些功能,...
解鎖windows phone 8以進行開發
自己的電腦不支援硬體虛擬化,也就是無法在windows8 64位的系統上跑wp8的模擬器,元旦時候買的htc8s要開始發揮光和熱了。給手機解鎖必要條件 一台windows phone的手機,安裝有windows phone 8 sdk的電腦 還需要乙個windows phone的開發人員賬戶。具體的...
Windows phone 8 歡迎引導頁面02
目標 前一篇文章已經實現了的切換,這裡需要限制pivot的迴圈滾動。思路 通過手勢事件,對第一張,最後一張處加以限制 前台 在pivot處加上 toolkit gestureservice.gesturelistener toolkit gesturelistener dragdelta gestu...