在Windows 8.1平板电脑上捕获Web应用程序中的图像

mic*_*chn 8 mobile html5 camera tablet windows-8.1

我即将开发一个在Windows 8.1平板电脑上运行的应用程序.一个重要的功能是能够点击按钮访问相机拍摄一些照片.理想情况下,我想将其创建为Web应用程序而不是本机应用程序,原因有很多(许可证,跨平台,开发时间:没有本机应用程序的经验等).

我已经查看了从HTML 5中捕获图像的选项,并找到了允许我编写的HTML Media Capture:

<input type="file" accept="image/*" capture="camera" />
Run Code Online (Sandbox Code Playgroud)

要访问相机.这适用于iPad和Android平板电脑,但我不能让它在Windows 8平板电脑上运行.我曾尝试在Windows 8平板电脑上使用Chrome,但仍无效果.它只是打开一个文件对话框,我可以在其中选择要上传的文件.我想要做的是能够捕获一个新的图像.IE不支持此标准(显然其他浏览器也无法访问设备的摄像头).

我也偶然发现了Media Capture和Streams,它们似乎主要与显示来自网络摄像头的流有关,但可能用于捕获图像,Chrome和Firefox支持其他浏览器,但仍然不是Internet Explorer(甚至IE11).但是,三种浏览器的实现似乎都不能在我的Windows 8.1测试机上运行.如果有人在任何浏览器中使用getUserMedia在Windows 8平板电脑上工作,我有兴趣听到它.

无论如何,我的主要问题是:有没有办法在Web应用程序中使用HTML5访问Windows 8平板电脑上的相机?我见过的唯一工作示例依赖于使用Active X的IE原型实现或使用Flash的解决方案.

编辑:我非常希望将它保留在HTML5/javascript中,因为它必须脱机工作(使用HTML5应用程序缓存)

小智 1

所以我遇到了完全相同的问题。我的网络应用程序类似,只是我必须使用平板电脑的摄像头进行一些条形码扫描。

\n\n

正如您所评论的,我正在使用 HTML 5 媒体 api。为了让它在 Windows 8 Surface Pro 的 Chrome 中工作,我必须这样做:

\n\n

要在 Chrome 中启用 getUserMedia,请在 URL 栏中输入 \xe2\x80\x98chrome://flags/\xe2\x80\x99 并启用 \xe2\x80\x9c在 getUserMedia() 中启用屏幕捕获支持。Mac、Windows、Linux、Chrome OS\xe2\x80\x9d 选项。

\n\n

它可以在我的笔记本电脑上运行,但不能在平板电脑上运行,在进行更改并重新启动 chrome 后,它就可以运行了。祝你好运。

\n