Показывать видео Nest Camera в Android WebView - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь показать встроенное видео в Android WebView, но в настоящее время у меня нет ничего, кроме простого белого экрана.

Это код, предоставленный Nest для встроенного видео:

"<iframe type="text/html" frameborder="0" width="480" height="394" src="//video.nest.com/embedded/live/Es9Ol5DCCB?autoplay=1" allowfullscreen></iframe>

Вот как я пытаюсь использовать в своем приложении:

 WebView webview = view.findViewById(R.id.camera_view);//new 
    WebView(view.findViewById(R.id.camera_view));
    webview.getSettings().setPluginState(WebSettings.PluginState.ON);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setAllowFileAccess(true);
    webview.setWebChromeClient(new WebChromeClient());
    webview.setWebViewClient(new WebViewClient());

    String html = "<iframe type=\"text/html\" frameborder=\"0\" width=\"480\" height=\"394\" src=\"//video.nest.com/embedded/live/Es9Ol5DCCB?autoplay=1\" allowfullscreen></iframe>";

    webview.loadDataWithBaseURL("video.nest.com",html, "text/html", null, null);

Мне не хватает некоторых разрешений здесь?

1 Ответ

0 голосов
/ 22 февраля 2019

Я могу рендерить видео с камеры Nest с помощью следующего кода.

Прежде всего, пожалуйста, убедитесь, что public_share_url включен для вашей камеры.

Вместо загрузки URL в iFrame я использовал URL-адрес видео напрямую.

String iFrameUrl =
"https://video.nest.com/embedded/live/Es9Ol5DCCB?autoplay=0";

WebSettings webViewSettings = webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setLoadWithOverviewMode(true);
webViewSettings.setUseWideViewPort(true); webView.loadUrl(iFrameUrl);

Удачного кодирования!

...