在WebView中显示NEST摄像机视频

时间:2018-11-19 11:13:35

标签: android

我有一个NEST相机,同时发布web_url和app_url用于相机流。我正在使用web_url使用android webView传输摄像机视频。以下是我的代码:

   nestWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
   nestWebView.getSettings().setJavaScriptEnabled(true);
   nestWebView.getSettings().setAllowFileAccess(true);
   nestWebView.setWebChromeClient(new WebChromeClient());
   nestWebView.setWebViewClient(new WebViewClient());
   nestWebView.getSettings().setSafeBrowsingEnabled(false);
   nestWebView.getSettings().setAllowFileAccessFromFileURLs(true);
   nestWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
   nestWebView.loadUrl(mURL.toString() 

上面的代码在我的应用程序的WebView中打开了NEST网页,但是相机的流媒体并没有开始.mUrl看起来像这样:

https://home.nest.com/cameras/CjZaRHdCVm.....?auth=850FqA .....

有什么想法我在这里想念的吗?

1 个答案:

答案 0 :(得分:0)

根据Nest Camera API文档,您将获得三种类型的URL。

  1. web_url :home.nest.com上实时视频流的Web URL(深链接)。
  2. app_url :Nest应用中实时视频流的应用URL(深链接)。
  3. public_share_url :当用户公开其视频流时,您可以访问此URL。

因此,如果您尝试将web_url加载到webview中,则它将在此加载整个webapp。

就我而言,我只想看Nest Video,因此我启用了public_share_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);