HTML Media Capture APIとセキュリティ

HTML Media Capture APIは
<input type=”file”>
の拡張タグにすぎない
input タグと同様のセキュリティ/プライバシー指針
に基づいた挙動となる
具体的な制限は
プログラム側からファイルパスを設定できない
ユーザの操作なしでは、キャプチャ処理が実行sれない
参照ボタンをクリックしたときのUIは
ブラウザで完全制御されるため
アプリ側で省略、改変できない
このAPIをつかうメリットは
アップロードするときの操作を楽にできること
スマートフォンの画面は大きくないし
アップロードするファイルを探したり選んだりする手間を
ファイルを指定することで省くことができる
写真共有とかカメラでとった写真をアップロードするのに使える

HTML Media Capture API

HTML Media Capture API
これはユーザがデバイスのメディア機能にアクセスすることを
手助けするHTMLフォームの拡張機能
機能としては
HTML のinput 要素に
capture 属性
accdept 属性を提供する
ユーザは簡単に端末の画像、動画、音声をキャプチャする
選択してアップロードも可能
このAPIはキャプチャツールの起動
ファイル参照を手助けするだけで
ユーザの関与なしで自動的メディアファイルを
アップロードなどはできない
また、このAPIでは動画や音声をストリーム送信することもできない
capture 属性には
4種類の値を設定できる
例を書くと




ソースにすると
<input type=”file” capture=”camera”/>
<input type=”file” capture=”camcorder”/>
<input type=”file” capture=”microphone”/>
<input type=”file” capture=”filesystem”/>
このどのcaprure属性の指定でも
ユーザが参照ボタンをタップすると
ファイル選択ダイアログが起動する
ファイル選択ダイアログは
capure 属性に設定した値に応じて変化する
capture=”camera”なら
カメラを起動して
撮影された写真ファイルを選択した状態になる
capture=”camcorder”では
ビデオカメラを起動し
撮影された動画ファイルを選択する
capure=”microphone”なら
サウンドレコーダーを起動し
録音された音声ファイルを選択した状態になる
capture=”filesytem”なら
ファイル選択ダイアログが起動して
選択されたファイルを選択した状態になる
Android の場合、いずれの場合も
ブラウザからcaprure 属性の内容に応じたインテントが発行される
capture属性値が camera なら
カメラアプリを起動するインテントが発行され
端末にインストールされているアプリの中から
適合するアプリを自動で探してくれる
検索結果件数、関連付け設定により
アプリが直接起動したり
アプリ選択画面を表示する
デフォルトで起動するアプリを指定しているなら
アプリが直接起動し
そうでないなら、アプリの選択になる
もし。該当するアプリがないならエラーメッセージがでる
そして、accept 属性の設定
accept 属性を設定すると、
ブラウザが
カメラ、サウンドレコーダーだけでなく
画像、音声ファイル選択のオプションを表示する
ソースにすると
< input type=”file” accept=”image/*”/>
<input type=”file” accept=”audio/*”/>
これで参照ボタンをタップすると
capture属性を設定したときみたいに
ファイル選択ダイアログが起動する
ファイル選択ダイアログは
accept 属性に指定した値により変わる
accept=”image/*”なら
画像ファイルを選択するダイアログになり
accept=”audio/*”なら
音声ファイルを選択するダイアログが表示される