Windows Phone 開發 - Windows Phone App 提交失敗,Windows Phone 7 功能 ID_CAP_MICROPHONE 無法檢測出來
問題的來龍去脈
在先前寫了一個 Windows Phone App 約會大作戰 只開發了 Windows Phone 8 版本,後續這幾天改寫成 Windows Phone 7 版本,程式在模擬器和實體裝置上都運作正常,因此進行提交,但是在提交時錯誤,錯誤報告內容大致上是按了某些按鈕會導致 App 當機,而這些會當機的功能,使用了錄影功能觸發閃光燈。
上網查詢以後,發現這是 Windows Phone 7 特有的錯誤,測試套件不會檢測 ID_CAP_MICROPHONE 所導致。
附註:在 Windows Phone 8 不會有此問題。
問題重現
開啟 Visual Studio 和 App,開啟 WMAppManifest.xml 確定功能有勾選 ID_CAP_MICROPHONE。
開啟市集測試套件
ID_CAP_MICROPHONE 沒有檢測出來,同樣的情況,在登入 Windows Phone Dev Center 進行提交 App 時,上傳 XAP 檔案後,也一樣不會被檢測出來。
問題的解決方法
開啟 App.xaml 檢視程式碼,加上以下代碼,將會作強制檢測 ID_CAP_MICROPHONE。
Microsoft.Xna.Framework.Audio.Microphone mic = null;
重建 App,重新執行市集測試套件進行測試,ID_CAP_MICROPHONE 有被檢測出來。
提交時也能檢測 ID_CAP_MICROPHONE 出來。
其他相關資訊
Marketplace Test Kit incorrectly claims ID_CAP_MICROPHONE
Be careful when submitting for Windows Phone Marketplace an app that uses CaptureSource class