Windows 8 開發之網路攝影機應用

來源:互聯網
上載者:User

1.更新項目中package.appmanifest 檔案,本文讓webcam和microphone可用。只需要在功能選項卡中勾選對應的框即可。如所示:

   如果不按照上面的設定,那麼這些功能是不可以使用的,所以,確保首先設定好了。

   在Windows  8中,非常好的是網路攝影機的所有事情都由你來決定。也就是說,有些事情,你不得不考慮好了。首先,當你試圖訪問網路攝影機時,程式將會提示使用者將使用網路攝影機和麥克風,由使用者決定是否授權。

2.代碼實現

  1).照片的擷取和儲存

        private async void Camera_Click(object sender, RoutedEventArgs e)        {            CameraCaptureUI camera = new CameraCaptureUI();            camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);//獲得圖片的寬高比例            StorageFile file = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);            if (file != null)            {                StorageFolder folder = KnownFolders.PicturesLibrary;    //將圖片儲存到圖片庫中                await file.CopyAsync(folder,file.Name,NameCollisionOption.ReplaceExisting);            }        }

  這裡有幾個選項可以設定(比如解析度和計時器),然後通過tap 或者單擊螢幕,就可以觸發照相。如果我們設定了一個CroppedAspectRatio,那麼將會看到畫面中將會出現四個白點,畫面中有4個白色的圓圈,表示裁減的地區。使用者可以改變這個box的size,不過指定一個CroppedAspectRatio,我們可以強制使用者選這個具有一定比例的圖片。在樣本中,我使用16:9,如果1:1這是一個正方形圖片。沒有這個選項的話,使用者就不必裁減圖片,不過在bottom中的菜單選項中,有一個任意裁剪的選項:

如果使用者選擇Crop,那麼使用者就可以裁減圖片的任意內容:

最後,當使用者點擊OK按鈕,將會返回一個圖片到我們程式中,這個圖片我們可以隨意使用。

  2).獲得視頻和儲存視頻

        private async void Video_Click(object sender, RoutedEventArgs e)        {            CameraCaptureUI video = new CameraCaptureUI();            video.VideoSettings.Format = CameraCaptureUIVideoFormat.Mp4;            video.VideoSettings.AllowTrimming = true;            video.VideoSettings.MaxResolution = CameraCaptureUIMaxVideoResolution.HighestAvailable;            video.VideoSettings.MaxDurationInSeconds = 600;            StorageFile file = await video.CaptureFileAsync(CameraCaptureUIMode.Video);            if (file != null)            {                StorageFolder folder = KnownFolders.VideosLibrary;                await file.CopyAsync(folder,file.Name,NameCollisionOption.ReplaceExisting);            }        }

  首先可以指定視頻的格式:MP4或WMV。一般你是看不出這些格式的區別的。MP4要比WMV使用更流行,但是MP4檔案會很大,所以值得考慮一下。

  其次,我將AllowTrimming設定為true,這樣使用者可以選擇根據喜好,選擇錄製視頻的片段。如下是相關,使用者可以拖動白色的裁減圈來裁減視頻:

  第三,我指定了一個MaxDurationInSeconds,這個值顯示使用者錄製視頻的最長時間。如果使用者錄製的視頻比這個時間長,那麼使用者只能選擇30秒(或者是你指
定的一個長度)的視頻。
  最後,我還指定了一個MaxResolution,這是系統管理使用者可以錄製的解析度,這也決定了最終檔案的大小,有下面四個可選項:

  以上就完成了windows8中網路攝影機的應用。

  簡單的來說,從使用者網路攝影機擷取相片和視頻的很容易的,並且可以定製。大多數複雜的UI都是有Windows 8直接處理了,所以,我們不用擔心與使用者的互動
問題 。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.