PhoneGap系の実装では、カメラ周りのカスタムは基本的にはネイティブプラグインを書く必要がある(iOS,Android用にそれぞれObjective-C/Swift, Javaを書く)のだけど、やっぱり面倒くさい!なんとか汎用的な解決策はないものか!とちょっと調べてみた。
CameraPlus Plugin For Cordova
機能:
- カメラをバックグラウンドで起動。ライブで画像取得
- その画像をlocalStrageに保存したり、Base64でPOST可能(キャスト可能)
ストリーミング配信の他に、取得した画像をcanvasに描くなどしてカスタムUIカメラを作ることも可能。[サンプル]
欠点:
- カメラ取得→jpeg化→base64→canvas、という手段なので、遅い。だいたい0.2-0.4秒くらい遅れる。
- 上記の理由で、リフレッシュレートもだいたい12fpsくらい(感覚値)
com.wezka.nativecamera
phonegap-custom-camera-plugin
機能:
- カメラ画面にカスタムボタンとオーバーレイ画像をのせる
- ネイティブプラグインで、指定の画像をネイティブカメラに乗せているため早い
欠点:
- メンテされてない(最終更新が2014/07)
CordovaCameraPreview
機能:
- HTMLの上にカメラ画面のポップアップ表示が可能(カメラプレビュー画面の上に、HTMLのカスタムUIが!)
- カスタムUIも可能
- Base64での取得も可能
本命かなぁ。
[サンプル]
欠点:
- 今のところなし