JavaScriptを使用して写真を撮る前に、HTML内にライブカメラビューを表示するビュー(たとえば、divに埋め込まれている)はありますか? PhoneGapを試しましたが、完全に新しいカメラアプリが起動し、HTMLWebアプリから完全に離れてから戻ってきます。アプリに何かを埋め込む必要があります
ありがとう
mbppower/CordovaCameraPreview プラグイン(Android、ios用)をCordova/phonegapアプリケーションにインストールして、HTMLからのカメラ操作を可能にすることができますコード。それは本当に素晴らしいプラグインです..次のような機能にアクセスできます:
HTMLコードからカメラプレビューを開始します。プレビューボックスをドラッグします。カメラの色の効果を設定する(AndroidおよびiOS)、プレビューボックスをHTMLコンテンツの後ろに送信する、カメラのプレビューボックスのカスタム位置を設定する、プレビューボックスのカスタムサイズを設定する、HTMLのインタラクティブ機能を維持する
または、要件に適合する場合は、アプリケーションにdonaldp24/CanvasCamera プラグインを使用することもできます。両方でサポートされていますAndroidおよびiOSプラットフォーム。 iOSの場合は正常に機能しますが、Androidでは機能しません。
これで、CordovaCameraPreviewプラグインをOnlinePhoneGapからもインストールできます。したがって、CLIを使用せずに、CLIを追加することで、CLIを直接使用できます。
<gap:plugin name="com.mbppower.camerapreview" version="0.0.8" source="plugins.cordova.io" />
config.xmlファイルで、ApplicationTemplate.apk /.ipaを作成します。これに関する詳細については、私に尋ねることができます。お力になれて、嬉しいです。
更新:2017年10月10日その間は正常に機能していましたが、donaldp24/CanvasCameraはメンテナンスされなくなり、現在、最新のCordovaバージョンでのビルドに失敗しています。
私は自分のプロジェクトの1つでそれを行いました。 navigator.getUserMedia()を確認してください。 ARゲームなど、ウェブカメラやブラウザでできることはたくさんあります。基本的な例を次に示します。
HTML:
<html>
<head>
</head>
<body>
<form><input type='button' id='snapshot' value="snapshot"/></form>
<video autoplay></video>
<canvas id='canvas' width='100' height='100'></canvas>
<script type="text/javascript" src="findit.js"></script>
</body>
</html>
findit.js
var onFailSoHard = function(e)
{
console.log('failed',e);
}
window.URL = window.URL || window.webkitURL ;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
var video = document.querySelector('video');
if(navigator.getUserMedia)
{
navigator.getUserMedia({video: true},function(stream) {
video.src = window.URL.createObjectURL(stream);
},onFailSoHard);
}
document.getElementById('snapshot').onclick = function() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.drawImage(video,0,0);
}
ライブデモ:
その他のリソース、これは私が使用したものです:
更新:
このソリューションは、デバイスにフロントカメラがある場合にのみ有効です。これは基本的に「ウェブカメラ」ソリューションです。それがあなたのケースでうまくいくかどうかはわかりません。万が一に備えて、リソースを確認してください。
camera.getPicture
からcordova-plugin-camera
を使用するか、navigator.device.capture.captureVideo
からcordova-plugin-media-capture
を使用できます。
var getUserMedia = navigator.getUserMedia
|| navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia
|| navigator.msGetUserMedia
|| navigator.device.capture.captureVideo
|| navigator.camera
|| camera.getPicture;
それが役に立てば幸い。