【问题标题】:Show Nest Camera video within Android WebView在 Android WebView 中显示 Nest Camera 视频
【发布时间】:2018-04-28 17:11:15
【问题描述】:

我试图在 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);

我在这里缺少一些权限吗?

【问题讨论】:

  • 我想通了。它只需要一个完全合格的网址。替换此行后:webview.loadDataWithBaseURL("https:\/\/video.nest.com",html, "text/html", null, null);一切正常!

标签: nest-api


【解决方案1】:

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

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

我没有在 iFrame 中加载 URL,而是直接使用了视频 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);

编码愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多