2014-01-03 3 views
4

Я хочу получить доступ к телефону с помощью HTML5 на Android. В настоящее время у меня есть Chrome 31.0.1650.59 на Kitkat.Предоставление доступа к HTML5 для камеры Android

Я могу подтвердить свой код, работающий в браузере Chrome на Android, но я не могу заставить его работать в WebView. Я не хочу выпускать намерение и использовать приложение для камеры по умолчанию. Я хочу отобразить канал камеры в WebView.

Вот мой код HTML.

<video id="video" width="640" height="480" autoplay></video> 
<script> 

    window.addEventListener("DOMContentLoaded", function() { 
     var video = document.getElementById("video"), 
      videoObj = { "video": true }, 
      errBack = function(error) { 
       console.log("Video capture error: ", error.code); 
      }; 

     if(navigator.webkitGetUserMedia) { 
      navigator.webkitGetUserMedia(videoObj, function(stream){ 
       video.src = window.webkitURL.createObjectURL(stream); 
       video.play(); 
      }, errBack); 
     } 
    }, false); 

</script> 

Это довольно стандартный.

Вот андроид код, который отображает эту страницу:

WebView webView = (WebView) rootView.findViewById(R.id.webView); 
WebSettings ws = webView.getSettings(); 

webView.setWebChromeClient(new WebChromeClient() { 
    @Override 
    public boolean onJsAlert(WebView view, String url, String message, final JsResult result){ 
     return true; 
    } 

    @Override 
    public boolean onJsConfirm(WebView view, String url, String message, JsResult result) { 
     return true; 
    } 

    @Override 
    public boolean onJsPrompt (WebView view, String url, String message, String defaultValue, JsPromptResult result){ 
     return true; 
    } 
}); 
    webView.setWebViewClient(new WebViewClient()); 
    ws.setJavaScriptEnabled(true); 
    ws.setAllowFileAccess(true); 
    ws.setDomStorageEnabled(true); 

    webView.loadUrl("http://html-page.htm"); 

Многие из этих конфигов не имеют ничего общего с этой проблемой, но отчаянный Предпринимаются попытки.

+0

Вы прошли через эту Документацию? http://docs.phonegap.com/ru/3.3.0/cordova_camera_camera.md.html#Camera –

+1

phonegap в конечном итоге вызывает приложение камеры, которое захватывает видео или изображение и возвращается в приложение. Это ограничивает настройку. Я хочу разместить область пользовательского размера внутри приложения, которое может отображать фид с камеры. – hasanatkazmi

+0

Вы получили какие-либо решения? Я столкнулся с похожим вопросом !! –

ответ

0

HTML5 видео, доступ к локальной камере поддерживается только в Android 5 и новее. В настоящее время я просматриваю встроенную камеру (Front and Back) полностью из HTML5 и некоторого javascript, потому что наше приложение будет работать только на Android 5 и новее. В конце кода есть некоторый код, который вы можете использовать для переопределения веб-представления, чтобы он автоматически принимал приглашение безопасности о разрешении доступа камеры. Поэтому, если вы не являетесь Android 5 или новее, это будет невозможно.

Смежные вопросы