2017-04-04 248 views
1

我發展爲我們的組織中的內部Web應用程序訪問的前置攝像頭。該應用主要用於桌面/筆記本電腦(如果不是全部)。使用mediaDevices.getUserMedia在筆記本電腦上

我需要給用戶捕捉自己的圖像的能力。我跟着example posted by David Walsh here

這工作正常,如果用戶的電腦上安裝一個攝像頭。但是,在具有前置和後置攝像頭的機器上(如Surface Pro 4),此代碼默認爲後置攝像頭。我試圖調整代碼,如下所示:

navigator.mediaDevices.getUserMedia({video: {facingMode: "user"}, audio: false}).then(...) 

但是,這沒有什麼區別。我猜這主要是針對移動設備的。

有什麼辦法來強制攝像機前,如果其可用的或者更好的是,使用戶能夠切換既具有正面和背面攝像頭一臺筆記本電腦設備上的攝像頭?

+0

它應該在Firefox中工作。在Chrome中,你需要adapter.js填充仍然[我認爲](http://stackoverflow.com/a/32364912/918910)。實際上,我只是意識到polyfill將不起作用,因爲Surface Pro默認後置攝像頭會令人驚訝。我會盡力解決這個問題。 – jib

+0

你能否幫我一個忙,並在[Firefox](https://www.mozilla.org/en-US/firefox/products/)上試試? (我沒有Surface Pro) – jib

+0

它在Firefox中工作 - 不需要填充。當要求我允許使用我的相機時,Firefox提供了一個下拉菜單,允許我選擇使用哪臺相機。 (仍然想弄清楚如何讓它在Edge和Chrome上運行) – RHarris

回答

1

facingMode約束是根據規範正確答案,並在Firefox的作​​品。 Chrome尚未實現它。但是,您可以使用adapter.js填充來獲取它。

試試吧here