[英]Flash Microphone Recording Not Working After Manually Popup the Security Dialog
基本上,我要嘗試的是檢查是否授予麥克風訪問權限,如果沒有,則顯示“安全性”對話框,並讓用戶在對話框中選擇“允許”訪問權限,以便下次用戶單擊錄制按鈕時,它不會顯示“安全性”框,並且錄制應立即生效。
在某些buttonClick
事件處理程序中,我將這段代碼用於檢查麥克風訪問是否已取消靜音
var mic:Microphone = Microphone.getMicrophone();
if (mic == null) {
return;
}
if (mic.muted) {
Security.showSettings(SecurityPanel.PRIVACY);
return;
}
//... Start recording using a library
如果一開始拒絕(或靜音)麥克風訪問,則執行buttonClick
事件處理程序時,將顯示“安全性”框;
用戶選擇“允許”后,將使mic.muted = false
,因此,當用戶再次單擊該按鈕時,該框將不會顯示,這也是預期的;
但是,有時庫中的錄制功能將無法使用。 有時它仍然可以工作,但是如果右鍵單擊Flash應用程序,然后選擇“設置”以彈出“安全性”框,然后單擊“拒絕”,然后重復步驟1和2,您將始終在步驟3中看到該行為。 :錄制功能不起作用。
我檢查了要錄制的庫的源代碼,它也使用了var mic:Microphone = Microphone.getMicrophone();
獲取並設置麥克風。
請幫忙。
這沒有任何意義:如果我移動var mic:Microphone = Microphone.getMicrophone();
在處理程序之外,它可以工作:
var mic:Microphone = Microphone.getMicrophone();
private function buttonClickHandler():void
{
if (mic == null) {
return;
}
if (mic.muted) {
Security.showSettings(SecurityPanel.PRIVACY);
return;
}
//... Start recording using a library
}
這沒有任何意義,因為http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html
對Microphone.getMicrophone()的多次調用引用了同一麥克風。 因此,如果您的代碼包含行mic1 = Microphone.getMicrophone()和mic2 = Microphone.getMicrophone(),則mic1和mic2都引用同一(默認)麥克風。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.