Как мы можем установить chrome stable как реализацию webview по умолчанию в настройках разработчика - PullRequest
0 голосов
/ 17 октября 2019

Моя проблема в то время как я работаю с веб-представлением для загрузки потокового аудио в реальном времени, используя PHP, сервер узла js, который выдает мне ошибку,

Uncaught (in promise) EncodingError: Unable to decode audio data", source: undefined (0)" please provide solution.

Здесь вы можете найти код

webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}

webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setUseWideViewPort(true);

webView.setWebChromeClient(webChromeClient);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setSaveFormData(true);
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

webView.getSettings().setUserAgentString(MyUA);
webView.loadUrl("http://192.168.9.92:8000");
private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if ("www.example.com".equals(Uri.parse(url).getHost())) {
            // This is my website, so do not override; let my WebView load the page
            return false;
        } 

        // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);

        return true;
    }

    @Override
    public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
        Log.e("SLSLOG", "SSL log :" + error);
        handler.proceed();
    }
}

private WebChromeClient webChromeClient = new WebChromeClient() {
    @Override
    public void onPermissionRequest(PermissionRequest request) {
        super.onPermissionRequest(request);
        myRequest = request;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            request.grant(request.getResources());
            for (String permission : request.getResources()) {
                if ("android.webkit.resource.AUDIO_CAPTURE".equals(permission)) {
                    askForPermission(request.getOrigin().toString(), Manifest.permission.RECORD_AUDIO, MY_PERMISSIONS_REQUEST_RECORD_AUDIO);
                }
            }
        }
    }
};

Заранее спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...