15

我尝试了以下属性capture来设置input元素以尝试选择前置摄像头。user是正面的,environment也是背面的。

但是,在移动设备(Pixel 1,最新操作系统)上试验 Chrome(最新)时,仍然选择了后置摄像头。

我使用了一个示例片段:

<form action="server.cgi" method="post" enctype="multipart/form-data">
  <input type="file" name="image" accept="image/*" capture="user">
  <input type="submit" value="Upload">
</form>

(来自https://w3c.github.io/html-media-capture/#the-capture-attribute

我可以在手机上更改accept为 require video,以便该属性和其他属性有效,但该capture属性无效。

编辑:我正在使用最新的 Android Chrome 浏览器。以下页面暗示 iOS 和更早版本的 Android Chrome 不能capture完全使用,但可以使用capture. https://caniuse.com/#search=html-media-capture

4

3 回答 3

8

我今天(2019-07-21)克隆了铬存储库。然后我使用ripgrep获取包含capture. 将该列表传递给 后rm,我删除了所有空的或明显不相关的目录(例如遥测)。浏览剩余的约 50 个文件是一项相对微不足道的任务。

希望 Chrome 团队将来能够实现这一点,但目前没有迹象表明官方文档、官方博客文章或代码本身支持这种行为。

我知道这不是你想听到的答案,但这些是我发现的事实。

于 2019-07-22T03:50:34.837 回答
2

会不会是 Chrome 会阻碍代码正常工作?我建议使用不同的浏览器,例如 Firefox 来测试这个理论。如果它确实在 Firefox 上成功,那么简单的答案是:Chrome 还没有实现它。

于 2019-07-21T07:41:13.750 回答
2

这是一些测试,我包括了用户代理:

没有使用:

  • Android Chrome:Mozilla/5.0 (Linux; Android 6.0; Ilium X510) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36
  • Android Firefox:Mozilla/5.0 (Android 6.0; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0

曾与:

  • iPhone Chrome:Mozilla/5.0(iPhone;CPU iPhone OS 12_3,如 Mac OS X)AppleWebKit/605.1.15(KHTML,如 Gecko)CriOS/75.0.3770.103 Mobile/15E148 Safari/605.1
  • iPhone Safari: Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1

总之:

  • 所有测试过的 iPhone 导航器在用户捕获时显示前置摄像头视图,如果是环境捕获则显示后置摄像头视图。
  • 两个经过测试的 Android 导航器始终显示后置摄像头视图。

因此,无论接受答案中的信息如何,这似乎都不是浏览器问题。如果它可以在 Android 设备和特定浏览器上正常工作,将会很有帮助。

我希望其他人可以在他们的 Android 设备上分享测试,特别是在工作设备上,在测试 capture="user" 属性值时显示前置摄像头视图。

于 2019-07-24T19:07:53.943 回答