Unity工程判斷當前錄音許可權是否被禁

2021-07-25 08:36:40 字數 944 閱讀 9789

unity提供了和錄音有關的類microphone

原本以為devices變數是指當前有效錄音裝置(應用的錄音沒有禁用)的數量,但實際上不是。這就很尷尬了,這意味著獲取錄音許可權被使用者拒絕時,單靠microphone類解決不了問題,unity也沒有提供類似的介面,只能呼叫android和ios的原生介面。

1、android

public

boolean

checkrecordaudiopermission()

網上很多人都提到了上面這種方法,但實際上這種方法android6.0之前只是判斷錄音許可權是否在androidmenifest裡有註冊。在網上查了一下android6.0之前都是沒有直接獲取對應許可權是否被禁的直接方法的。只能通過一些同等效果的方法實現,於是在網上找到了一種方法

public

boolean

hasrecordpermission()

catch (illegalstateexception e)

/*** 根據開始錄音判斷是否有錄音許可權

*/if (audiorecord.getrecordingstate() != audiorecord.recordstate_recording)

else

}

方法大致是模擬錄音過程,檢測錄音狀態是否切換到正在錄音的狀態,如果不是則沒有開啟錄音許可權。測試有效。

2、ios

ios有原生的獲取許可權的介面。

+ (bool) canrecord

];

} }

return bcanrecord;

}

MySQL中如何判斷當前是字元

使用length與char length兩個函式 length 是計算欄位的長度乙個漢字是算三個字元,乙個數字或字母算乙個字元 char length 不管漢字還是數字或者是字母都算是乙個字元 對同一字段分別使用 length char length計算長度,並進行比較 長度相同則字段中無漢字,不相...

Unity3D判斷當前所在平台

unity3d是乙個跨平台的開發工具,支援的平台五花八門,常常開發一款遊戲要發布到不同的平台,在不同的平台上會使用不同的 難道要我們各平台分別使用一套 單獨編譯一次嗎?當然不用了,呵呵。unity3d有乙個功能叫平台依賴編譯 platform dependent compilation 它可以讓我們...

Android 判斷當前語言環境是否是中文環境

話不多說,請看 public static boolean iszh context context ps android判斷當前系統用的是什麼語言 判斷國家 中文 getresources getconfiguration locale.getcountry equals cn 正體中文 getr...