2015-12-09 102 views
0

我的Android 6.0 Marshmallow出現問題。當我嘗試使用麥克風並錄製用戶輸入時,出現以下錯誤。在Unity 6上記錄基於Unity的音頻權限

12-09 18:26:42.226 204-10957/? W/ServiceManager: Permission failure: android.permission.RECORD_AUDIO from uid=10274 pid=757 
12-09 18:26:42.226 204-10957/? E/: Request requires android.permission.RECORD_AUDIO 
12-09 18:26:42.226 204-10957/? E/AudioFlinger: openRecord() permission denied: recording not allowed 
12-09 18:26:42.226 757-1251/com.facebook.singApp E/AudioRecord: AudioFlinger could not create record track, status: -1 
12-09 18:26:42.228 204-1253/? I/AudioFlinger: AudioFlinger's thread 0xafa40000 ready to run 

而應用程序崩潰,它只在Android 6.0 Marshmallow上發生,所有其他平臺正常工作。 在Android清單我已將此代碼的一部分:

<uses-permission android:name="android.permission.RECORD_AUDIO" android:maxSdkVersion="1" /> 

和團結,我添加以下代碼:(我知道這對webplayers但我想,黑客什麼的)

private IEnumerator mobilePremissions() 
{ 
    yield return Application.RequestUserAuthorization(UserAuthorization.Microphone | UserAuthorization.Microphone); 
    if (Application.HasUserAuthorization(UserAuthorization.WebCam | UserAuthorization.Microphone)) { 
     Debug.Log ("Great"); 
     ViewerSwitchSence.Recording(); 
    } else { 
     Debug.Log ("Crapping"); 
    } 
} 

我不不知道爲什麼Unity不會在點擊時向用戶授予授權,這正是Android 6.0 Marshmallow的預期。

感謝您的幫助。

回答

1

好的,解決了這個問題。 如果您遇到同樣的問題,請更新到最新的Unity,但是,如果您已將清單添加到android.permission.RECORD_AUDIO

請確保您從清單中刪除此行,它將衝突Unity自我添加的權限並導致應用程序崩潰的麥克風請求。

希望它可以幫助別人。

+0

你能告訴我們完全的Unity版本嗎?以及最小和目標SDK請。 – JohnTube

+0

目前在版本5.3.1f1(cc9cbbcc37b4)上工作個人 Thu,17 Dec 2015 13:01:19 GMT 分支:5.3 /發佈。 最小的SDK目標: