注意するのは、プロジェクトのプロパティの『機能』のタブで、カメラとマイクロフォンを使えるようにチェックするところです。
サンプルコードをそのままで、簡単に写真撮影やビデオ撮影が可能ですが、ただそれだけでどう使えるかは良く解りません。古い WEBカメラを使ったのでただプロジェクタで表示しただけです。もし、WEB カメラが接写できるならリアルタイムでプロジェクタに手元のモバイル(iPhone や Android)の状態を表示できるので試してみました。
function scenario1CapturePhoto() { try { var dialog = new Windows.Media.Capture.CameraCaptureUI(); var aspectRatio = { width: 16, height: 9 }; dialog.photoSettings.croppedAspectRatio = aspectRatio; dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).done(function (file) { }, function (err) { }); } catch (err) { } }
これだけで、画面いっぱいにカメラ表示になります。どうもダイアログらしいのですが、Microsoft のサンプルには、ビデオのほうのサンプルもありますが、基本的には同じようなもので、.done で画像化されたファイルを受け取って、対象要素にセットするというものです。( img や video ) このへんは、非常に HTML5 が都合よくなっています。ただ、このアプリのテストは、Three.js で 3D モデルを表示したり、カメラを使ったりというメニュー処理になっているのですが、そちらの処理を実行してからカメラを実行して戻って来ると、メニューリンクがクリックできなくなるという不具合が出ています。Windows Metro で画面切り替えして戻って来るとクリックできるので、OS の問題か、何か復帰処理がいるかどちらかですが、Microsoft のサンプルでは特になにもしていませんでした。
|
【Windows8 Metro(JS/C#)の最新記事】
- Win8(JS Metro)の『分割・・・』テンプレートにアプリバーを追加して、新しいページを定義する
- Win8(JS Metro)の『分割・・・』テンプレートを使って RSS を収集するサンプル
- Win8(JS Metro)の『分割・・・』テンプレートから追加のページを定義する方法
- 『分割アプリケーション』/ Win8(Metro)テンプレートのテンプレートたる意味
- Windows8(JavaScript Metro Style) 関連リンク
- Windows8 で SkyDrive にアップロードするサンプル
- Windows8 Metro(JS) で LiveSDK を使って signin してテキスト表示するだけのサンプルコードの実行
- Windows8 Metro(JS) で Three.js の 3D モデル表示(Canvas)を行う
- Windows8 Metro(JS)の画面切り替えが解る、jQuery とのコラボ
- Google ドキュメントを使ってソースコード配布と解説
- 余計なものを全て排除した Win8 Metro(JS) アプリの画面遷移
- querySelectorAll(結果はNodeList) と forEach( Array のメソッド ) の動作確認コード
- Win8 Metro(JS) のクラス定義用クラスでの記述仕様で、getter が存在します
- Win8 Metro で画面の表示変更は、画面部分(?)オブジェクトの入れ替えを自分で行います
- Win8 Metro(JS) : 印刷処理
- Win8 Metro(JS) : WinJS.xhr の内容(XMLHttpRequest)