在Android WebView中显示Nest Camera视频

时间:2018-04-28 17:11:16

标签: nest-api

我试图在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 :(得分:1)

我可以使用以下代码从Nest相机渲染视频。

首先,请确保您的相机已启用public_share_url。

我没有直接在iFrame中加载网址,而是直接使用了视频网址。

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);

编码愉快!