2017-05-27 93 views
1

我已經寫在C#的Visual Studio 2015年在Windows 10 UWP使用語音識別來執行某些命令。 所有的作品都很棒,直到PC從顯示器睡眠中恢復或者應用程序失去焦點/被最小化。之後,該應用程序不響應麥克風,除非我再次重新啓動應用程序。 該應用程序僅用於我的兩臺Windows 10臺式電腦,因此不關心移動或其他平臺功能。 有沒有什麼方法可以確保應用程序與麥克風保持「連接」狀態,或者我是否已通過UWP進入「盲區」並且應該使用WPF構建它? 我曾假設UWP是MS正在招呼的未來標準,新應用程序只能以這種格式編寫而不是Forms,WCF或WPF。我錯了,是否還有WPF的未來(如果「是」,我可以將我的UWP應用程序轉換爲WPF,希望我仍然可以完全訪問像麥克風一樣的東西,就像我在較舊的vb.net表單版本中那樣我的應用程序?)。的Windows 10 UWP話筒丟失當應用程序失去焦點

因此,要澄清一下,我需要了解以下內容:

  1. 可以運行在Windows 10桌面在Windows 10 UWP應用程式掌握連接即使應用程序最小化/屏幕超時麥克風?
  2. 如果答案爲否,則將會WPF是最好的途徑,而且也是該格式/平臺可能會繼續支撐位將盡可能多的被推動UWP?
  3. 如果我要下去WPF的路線可我UWP的應用程序轉換爲WPF?
  4. 如果一個雙贏窗體應用程序是確保持續訪問話筒是雙贏的形式支持要去多久繼續不建議寫在這個格式新應用的唯一方式嗎?

任何幫助將非常感謝,因爲我花了很多時間重寫我的舊vb.net贏表單應用程序作爲C#UWP應用程序。 謝謝, Richie

+0

當UWP應用程序最小化,這是暫停。沒有辦法保持連接到麥克風。爲了您的目的,您應該考慮使用WPF,WPF也可以在Windows 10上工作。 – Scavenger

+0

我有一種感覺,那就是答案。 那麼,WPF是否會繼續像UWP一樣受到支持,並且有辦法將UWP應用程序轉換爲WPF(或者我將不得不再次從頭開始構建)? 謝謝 – Richie

+0

任何人都可以嘗試後臺任務。此Windows運行時組件不會觸發暫停的事件。 –

回答

0

當一個UWP應用程序最小化時,它將被掛起。沒有辦法保持連接到麥克風。欲瞭解更多信息,你可以檢查Windows 10 universal Windows platform (UWP) app lifecycle

既然你只需要在應用程序在Windows 10桌面電腦,然後將使用WPF的最佳選擇之一工作,WPF也可以在Windows 10工作,並將繼續得到支持。例如,他們已經爲WPF添加了每個顯示器的DPI感知支持(請參閱https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI)。在WPF中可以使用許多UWP API,您應該能夠將您的UWP應用程序手動轉換爲WPF。有關更多信息,請參閱this answer