2016-02-15 64 views
0

我正在使用getUserMedia的html應用程序。它到目前爲止效果很好,但有一個小問題:奇怪的getUserMedia問題?

Web應用程序也從本地文件系統調用。這意味着file://。

好的,WebRTC在這種情況下不可用。 navigator.getUserMedia({video:true,audio:false},function(localMediaStream){...},function(error){alert(「blabla webrtc unavailable」;)})當瀏覽器嘗試呼叫

;

它應該遇到錯誤並調用錯誤回調。

如果是file://,這兩個回調都不會被調用。

在另一種情況下,Web應用程序運行在常規http://上,警告提示WebRTC功能在不安全的環境中不可用,但此處錯誤回調按預期工作。

我需要錯誤回調告訴用戶WebRTC不可用。

這裏有什麼問題?

(它用於一個不重要的功能。而且,只有getUserMedia()與使用,而不是整個的WebRTC的工作流,但它是醜陋的,如果碰上一個空白屏幕)

不,有沒有等待彈出窗口詢問用戶的權限:-)

問題是隻有Chrome。可能是一個瀏覽器的錯誤?

謝謝。

回答

2

以文件形式靜默失敗://已記錄Chrome行爲,請參閱here。如果您可以控制Chrome,則allow-file-access-from-files標誌將啓用來自文件網址的getUserMedia。

+0

噢不...行爲不好。它必須在默認的chrome設置下運行。任何解決方法? :-D – user2766477

+1

@ user2766477如果只是檢查window.location.href是否以「file://」開頭並在嘗試調用getUserMedia之前顯示錯誤,那麼該怎麼辦? – Kevin

+0

X.x該死的簡單解決方案!很容易,我自己也沒有這個想法。該應用程序中已經存在這種開關。謝謝!! – user2766477