Windows Phone 8 發音合成與語音識別

2021-09-06 07:46:10 字數 4307 閱讀 7502

《深入淺出windows phone 8應用開發》之發音合成與語音識別

windows phone從一開始就具有了強大的語音功能,我們可以長按開始鍵就可以呼叫手機的語音識別介面,然後可以通過語音來進行啟動一些任務。那麼在windows phone 8裡面,語音控制的程式設計介面都開放了相關的api給應用程式呼叫,所以在應用程式裡面也一樣可以實現語音的控制。

發音的合成

下面給出發音合成的示例:使用發音合成對文字的內容進行發音。

**清單:發音合成

mainpage.xaml檔案主要**

<

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

>

mainpage.xaml.cs檔案主要**

speechsynthesizer voice;//

語音合成物件

public

mainpage()

private

async

void button1_click(object

sender, routedeventargs e)

else

}catch

(exception ex)

}

程式執行的效果如圖10.21所示。

圖10.21 發音合成

自定義語音識別介面可以通過speechrecognizer類來實現,首先需要先新增監聽的語法,然後通過使用speechrecognizer類recognizeasync方法來監聽語音的識別。

下面給出數字語音識別的示例:對1到10的英文數字發音進行監控,如果監聽到數字的發音則把英文數字單詞顯示出來。

**清單:數字語音識別

mainpage.xaml檔案主要**

<

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

>

mainpage.xaml.cs檔案主要**

using

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.22所示。

圖10.21 語音識別數字

系統語音識別介面可以通過speechrecognizerui類來實現,使用的基本語法與speechrecognizer類相類似,系統的語音識別介面通過speechrecognizerui類settings屬性來設定,settings.listentext表示介面的標題,settings.exampletext表示介面的示例內容。

下面給出數字語音識別系統介面的示例:使用系統地語音識別介面,對1到10的英文數字發音進行監控,如果監聽到數字的發音則把英文數字單詞顯示出來。

**清單:數字語音識別

mainpage.xaml檔案主要** 

<

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

>

mainpage.xaml.cs檔案主要**  

using

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所示。

圖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...