MediaCaptureで動画を撮るには

MediaCapture

カメラで動画をとるだけならCameraCaptureUIを使うと楽に動画を撮ることができます。

しかし、CameraCaptureUIは既存のUIを使用するので自分でキャプチャ部分を定義できません。

 

自由度が高く、独自のUIを使って写真を撮りたいならMediaCaptureを使います。

 

まずはデバイス列挙をしてどのカメラを使うかを選択します。

DeviceClass.VideoCaptureを指定することでカメラデバイスだけを列挙することができます。

DeviceClass.AudioCaptureを指定することでオーディオデバイスだけを列挙することができます。

今回は0番目のカメラ、0番目のマイクを使用します。

そしてMediaCaptureInitializationSettingでVideoDeviceIdとAudioDeviceIdを指定します。

 

現在カメラで写している画面をPreviewするためにcaptureElementコントロールをXAMLに配置し、

そのSourceにmediaCaptureのインスタンスを渡します。

 

WindowsPhoneの場合、Preview画面が270度回転してしまっているので270度回転させておきます。

 

ここまでで初期化は完了です。

 

StartPreviewAsyncでカメラの画面をプレビューします。

 

StartRecodToStorageFileAsyncで録画した動画をStorageFileとして保存します。

引数にMediaEncodingProfileを指定することでエンコードを指定できます。今回はmp4で作成します。

また、保存先として今回はカメラロールを指定します。

これで、録画が開始されます。

 

録画を終了する場合、StopRecordAsyncを使えば録画を終了できます。

 

StopPreviewAsyncでプレビューを終了し、DisposeメソッドでMediaCaptureのリソースを正しく破棄します。

 

サスペンド時に正しく終了処理をしましょう。

 

実行する場合、マニフェストファイルの機能タブにWebカメラとマイクのチェックが要ります。

今回はビデオの保存先をカメラロールにしているので画像ライブラリにもチェックをいれます。

There was no information available on whether students could voluntarily sign justbuyessay.com/ up for this course