web是否能够修改手机端调用摄像头弹出来的界面?

现在想用web实现上图的这种效果,我发现直接使用下面的代码是直接跳转系统的图象界面,不知道能不能实现途中的效果。

<input type="file" apture="camera"></input>

https://img.mukewang.com/5b4f1d5f00015fcb04500800.jpg

现在想用web实现上图的这种效果,我发现直接使用下面的代码是直接跳转系统的图象界面,不知道能不能实现途中的效果。

<input type="file" apture="camera"></input>


富国沪深
浏览 722回答 3
3回答

素胚勾勒不出你

这里面的坑是非常可怕的。主要是用到 MediaDevice.getUserMedia 这个东西。界面先不说,要注意的是这东西的兼容性非常糟糕,比如:创建的时候需要传递配置参数,多数情况下你可以按文档中的说法去指定分辨率:{    video: {        width: xxx,        height: xxx     } }然而,这个写法会导致在 IOS 平台获取不到任何流数据,正确姿势是这样的:{    video: true}但是很显然,这样就没办法指定你的视频流的分辨率大小,系统想给你怎样的就是怎样的。

侃侃尔雅

在文档的兼容性列表中,提到了&nbsp;Safari Mobile&nbsp;的最低支持版本为&nbsp;11,但是我在测试时(四台&nbsp;IOS&nbsp;设备,三台&nbsp;iPhone,一台&nbsp;iPad,均为&nbsp;IOS 11)只能在&nbsp;iPad&nbsp;上获得流数据,iPhone&nbsp;上是不行的。

慕的地8271018

这个 API 有个历史兼容的旧版本: navigator.getUserMedia,两个版本的 API 差别大到一个是用 Promise (新版本) 处理而另一个是用 callback (旧版本),因此你必须在使用前进行 if(navigator.MediaDevices) 来判断是否有新 API 能调用,而问题在于,即便同为 IOS 11,iPhone 上只有旧版本,iPad 上却是新的。所以,虽然有接口可以让你获得摄像头的流数据,但是感觉兼容性是个硬伤,请多考虑。由于我并不是前端开发,因此这个兼容性问题已经折磨得我无法再钻研下去,也许我测试方法或结果有误,有了解这方面情况的朋友还请麻烦指出错误,谢谢!
打开App,查看更多内容
随时随地看视频慕课网APP