昨天,我非常馬虎地給大家說了有關處理物理網路攝影機翻轉的話題,今天,還是這個話題,而且內容不差,只是為了完整性,順便也提供了運行時API的版本,其實實現起來與SL架構版本差不多,畢竟這兩個架構都有不少API是共用的。
首先,開啟資訊清單檔,在“應用程式”選項卡上,把“支援的旋轉”右面的橫向選上,其他的不要選,只選橫向。
然後切換到“功能”選項卡,把 網路攝像機 和 圖片庫 勾上,因為我們要用到它們。
同樣,使用MediaCapture類時要注意,在應用程式掛起時把它釋放掉,而在應用程式啟動或繼續運行時,對其進行初始化。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/
在App類中加入以下代碼:
/// <summary> /// 視頻捕捉對象 /// </summary> public MediaCapture TheCapture { get; private set; } /// <summary> /// 初始化網路攝影機 /// </summary> private async Task InitializeCapture () { TheCapture = new MediaCapture(); // 尋找後置網路攝影機 var deviceCollection = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture); DeviceInformation backCamera = deviceCollection.FirstOrDefault(d => d.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Back); if (backCamera != null) { MediaCaptureInitializationSettings setting = new MediaCaptureInitializationSettings(); setting.AudioDeviceId = ""; setting.VideoDeviceId = backCamera.Id; await TheCapture.InitializeAsync(setting); } else { await TheCapture.InitializeAsync(); } } /// <summary> /// 清理網路攝影機相關資源 /// </summary> private void CleanupCapture () { if (TheCapture != null) { TheCapture.Dispose(); TheCapture = null; } }