3 回答

TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊
這里面的坑是非??膳碌摹?/p>
主要是用到?MediaDevice.getUserMedia?這個東西。
界面先不說,要注意的是這東西的兼容性非常糟糕,比如:
創(chuàng)建的時候需要傳遞配置參數(shù),多數(shù)情況下你可以按文檔中的說法去指定分辨率:
{????video:?{????????width:?xxx,????????height:?xxx ????} }
然而,這個寫法會導(dǎo)致在?IOS?平臺獲取不到任何流數(shù)據(jù),正確姿勢是這樣的:
{????video:?true}
但是很顯然,這樣就沒辦法指定你的視頻流的分辨率大小,系統(tǒng)想給你怎樣的就是怎樣的。

TA貢獻(xiàn)1801條經(jīng)驗 獲得超16個贊
在文檔的兼容性列表中,提到了 Safari Mobile 的最低支持版本為 11
,但是我在測試時(四臺 IOS 設(shè)備,三臺 iPhone,一臺 iPad,均為 IOS 11)只能在 iPad 上獲得流數(shù)據(jù),iPhone 上是不行的。

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊
這個 API 有個歷史兼容的舊版本:?navigator.getUserMedia,兩個版本的 API 差別大到一個是用?Promise?(新版本) 處理而另一個是用?callback?(舊版本),因此你必須在使用前進(jìn)行?if(navigator.MediaDevices)
?來判斷是否有新 API 能調(diào)用,而問題在于,即便同為?IOS 11,iPhone?上只有舊版本,iPad?上卻是新的。
所以,雖然有接口可以讓你獲得攝像頭的流數(shù)據(jù),但是感覺兼容性是個硬傷,請多考慮。
由于我并不是前端開發(fā),因此這個兼容性問題已經(jīng)折磨得我無法再鉆研下去,也許我測試方法或結(jié)果有誤,有了解這方面情況的朋友還請麻煩指出錯誤,謝謝!
- 3 回答
- 0 關(guān)注
- 749 瀏覽
添加回答
舉報