我正在使用一些基於瀏覽器的使用麥克風和攝像頭的Flash應用程序。我只有在用戶已經授權訪問攝像頭時才需要它。我檢查訪問是否已經存在,以防用戶允許訪問並檢查「記住」設置。如果未授予訪問權限,則可能有兩點:用戶尚未提示對話,或者他檢查了「記住」並被拒絕訪問。有沒有辦法確定這兩個現在適用哪一個?基本上,我想確定這個問題的答案:「用戶是否記得拒絕訪問麥克風/凸輪?」AS3,Flash:如何判斷安全設置是否被記住?
1
A
回答
0
麥克風,你可以通過創建一個麥克風類,並看到getMicrophone
功能檢查返回null:var mic:Microphone = Microphone.getMicrophone();
這從http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d0f.html採取: 當你的應用程序調用Microphone.getMicrophone()方法時,Flash Player顯示「Flash Player設置」對話框,該對話框提示用戶允許或拒絕Flash Player訪問系統上的相機和麥克風。用戶單擊此對話框中的「允許」按鈕或「拒絕」按鈕後,將調度StatusEvent。那的StatusEvent實例的code屬性指示麥克風訪問是否被允許或拒絕,如本例所示:
import flash.media.Microphone;
var mic:Microphone = Microphone.getMicrophone();
mic.addEventListener(StatusEvent.STATUS, this.onMicStatus);
function onMicStatus(event:StatusEvent):void
{
if (event.code == "Microphone.Unmuted")
{
trace("Microphone access was allowed.");
}
else if (event.code == "Microphone.Muted")
{
trace("Microphone access was denied.");
}
}
+0
不幸的是,這將無法正常工作,正如我所描述的 - Doorhandle - 我試圖確定情況用戶「記住」拒絕訪問。在這種情況下,不會有允許/拒絕彈出窗口,也不會有StatusEvent.STATUS,因爲沒有更改。 – pokrishka
相關問題
- 1. 如何判斷PDF是否被標記
- 2. 如何判斷cudaFree()是否安全?
- 3. 如何判斷是否安裝了node.js
- 4. 如何判斷當前修訂版是否被標記
- 5. Flash AS3全局安全設置 - 以編程方式
- 6. Android:如何判斷設備上是否安裝了Samsung Apps market?
- 7. 如何判斷ultragrid文本是否被截斷
- 8. 如何判斷AS3中的XMLlist對象是否包含節點?
- 9. Javascript,html:如何判斷選項框是否已設置?
- 10. 如何判斷Android設備是否能夠提供位置?
- 11. 如何判斷表單runat = server是否已設置?
- 12. 如何判斷ImageView在android中是否有設置的圖像?
- 13. 如何判斷Flash是否加載到網站上?
- 14. 是否可以判斷`autoindent`是否設置在vim中?
- 15. 如何判斷「ZipArchiveEntry」是否是目錄?
- 16. 如何判斷ant是否安裝了/什麼是$命令?
- 17. gdb:如何判斷某個內存是否被標記爲只讀
- 18. 如何判斷DocuSign簽名者是否安全檢查失敗? (API)
- 19. 如何判斷登錄的用戶是否具有安全角色?
- 20. 如何判斷代碼訪問安全性是否允許在庫代碼中
- 21. 如何判斷我的客戶端是否正在運行安全連接(SSL)
- 22. 如何判斷(在上海)的目錄是否被安裝在NFS
- 23. 如何判斷哪些列已被設置爲mysql中的CASCADE
- 24. Flash AS3按住按鈕
- 25. 如何在Flash項目as3中設置Flash Player窗口位置?
- 26. 如何判斷全屏應用程序是否正在運行?
- 27. 如何判斷彈出窗口是否已完全加載
- 28. 如何判斷npm是否完全更新
- 29. 如何判斷所有Angular命令是否完全使用Javascript?
- 30. 如何判斷按鈕是否在android中未被點擊?
據我所知,這是不可能的,但我會看看周圍的文檔,看看我能挖東西。爲什麼你想區分這兩種情況? – Aralicia
訪問之後,我需要能夠繼續執行程序。如果用戶還沒有記住「拒絕」選項 - 我嘗試訪問麥克風後會出現提示,並且我可以收聽麥克風StatusEvent.STATUS以確定是否提供訪問。如果它被記住「否認」 - 不會出現提示。我可以手動調用安全設置窗口,但是在我點擊輻射選項「allow」之後,它會導致StatusEvent.STATUS事件,而不是在關閉此安全窗口之後。除此之外,如果用戶離開「否認」並關閉窗口 - 任何事件都不會觸發,所以我不會知道它。 – pokrishka
我明白了。沒有API支持的方式來檢測SecurityPanel的存在,但我想我記得一個較舊的帖子,它指出以某種方式使用的Bitmapdata.draw()在Panel打開時會生成SecurityError。此解決方法可能仍然有效。 – Aralicia