HTML Media Capture API与getUserMedia()

时间:2013-05-02 13:12:15

标签: javascript html5 webcam

目前,我正在尝试做一些非常简单的事情(好吧,实际上我认为这很简单......):我想从网络应用程序中的网络摄像头拍摄照片

我偶然发现了两种可能性:

1。 HTML Media Capture API看起来非常简单:

<input type="file" accept="image/*" capture="camera">

2。 JavaScript媒体流,看起来也很简单:

navigator.getUserMedia()

这是我的问题:

HTML Media Capture API无法在桌面浏览器中运行,并且JavaScript媒体流无法在iOS上运行。那我应该选哪一个?都?将来会开发哪一个?哪一个是首选方式?你更倾向哪个?在一个解决方案中是否有任何缺点,我没有看到这样的票价(兼容性除外?)。

感谢。

BTW:我不是一位经验丰富的HTML / JavaScript开发人员,所以请善待;)

2 个答案:

答案 0 :(得分:3)

移动浏览器

使用HTML Media Capture从相机中直接捕捉图像

<input type="file" accept="image/*" capture >

Android(3.0+)将直接跳到相机。以下介绍一些CSS样式:

Pipe Video Recorder on Android

iOS(6-10)仍会为您提供选择现有照片的选项,因为它不支持capture。有关详细信息,请参阅Correct Syntax for HTML Media Capture

桌面浏览器

1)访问网络摄像头:使用MediaStream API&#39; getUserMedia

navigator.getUserMedia或更新的基于navigator.mediaDevices.getUserMedia的承诺

2)使用画布拍摄快照

David Walsh's example涵盖桌面上的两个步骤。

答案 1 :(得分:2)

这是一个例子 http://html5.by/blog/demo/image-capture-getusermedia/ 这是一篇可以帮助你的文章 http://html5.by/blog/html5-image-capture-getusermedia-stream-api-mirror/ 抱歉,它是俄语,但示例正在运行,您可以检查代码 +谷歌翻译:)

希望它会有所帮助