web-dev-qa-db-ja.com

WebView WebRTCが機能しない

WebRTCチャットをWebViewに表示しようとしています。関連 このドキュメントWebView v36WebRTCをサポートしています。私のテストでは、Chrome/39.0.0.0と明示するpermissinsを追加しました:

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.CAMERA" />
<uses-permission Android:name="Android.permission.RECORD_AUDIO" />
<user-permission Android:name="Android.permission.MODIFY_AUDIO_SETTINGS" />

チャットに入ると、ログにchromiumエラーが表示されます(デバイスには何も表示されません\進行状況バーの「読み込み中」のみ)

W/AudioManagerAndroid: Requires MODIFY_AUDIO_SETTINGS and RECORD_AUDIO
W/AudioManagerAndroid: No audio device will be available for recording
E/chromium: [ERROR:web_contents_delegate.cc(178)] WebContentsDelegate::CheckMediaAccessPermission: Not supported.
E/chromium: [ERROR:web_contents_delegate.cc(178)] WebContentsDelegate::CheckMediaAccessPermission: Not supported.
W/AudioManagerAndroid: Requires MODIFY_AUDIO_SETTINGS and RECORD_AUDIO
W/AudioManagerAndroid: No audio device will be available for recording
D/ChromiumCameraInfo: Camera enumerated: front

実際のデバイスでテスト済み、Android 5.1.1

12
Siarhei

権限の追加リクエストが必要です

webView.setWebChromeClient(new WebChromeClient(){
        @TargetApi(Build.VERSION_CODES.Lollipop)
        @Override
        public void onPermissionRequest(final PermissionRequest request) {
                request.grant(request.getResources());
        }
    });

updateですが、オーディオキャプチャには機能しません

[〜#〜] update [〜#〜]動作するgoogle-sampleコードが見つかりました here

22
Siarhei