【问题标题】:Can't run video in WebView on some devices无法在某些设备上的 WebView 中运行视频
【发布时间】:2013-05-13 11:48:47
【问题描述】:

这是我的第一个问题,所以请温柔...

好的,问题来了。我必须在 Android 的 WebView 中显示视频。 我已经在多个设备和 Android 版本上对其进行了测试,但它不能始终如一地工作。

  • Nexus 10 (4.2.2) - 完美运行;
  • Nexus 4 (4.2.2) - 完美运行;
  • Galaxy Tab 10.1 (4.0.4) - 只有声音;
  • Nexus S(4.1.2) - 完美运行;
  • LG 擎天柱一号 (2.3.3) - 什么都不做;

我根本找不到问题,网上也没有类似的问题...

这是我必须展示的示例视频:

<html>
<div style="display:none">

</div>

<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>

<object id="myExperience2084424914001" class="BrightcoveExperience">
  <param name="bgcolor" value="#FFFFFF" />
  <param name="width" value="448" />
  <param name="height" value="282" />
  <param name="playerID" value="1628834100001" />
  <param name="playerKey" value="AQ~~,AAABCTwHZPk~,hTXeDm36Z7Rd3QTKipeWv6uC6OAmrw2j" />
  <param name="isVid" value="true" />
  <param name="isUI" value="true" />
  <param name="dynamicStreaming" value="true" />

  <param name="@videoPlayer" value="2084424914001" />
</object>

<script type="text/javascript">brightcove.createExperiences();</script>
</html>

这是 Android 中的 WebView 示例...

try {
                        webviewC = (WebView) findViewById(R.id.webviewRSS);
                        webviewC.getSettings().setJavaScriptEnabled(true);
                        webviewC.getSettings().setDomStorageEnabled(true);
                        webviewC.getSettings().setSupportZoom(true);
                        webviewC.getSettings().setBuiltInZoomControls(true);
                        webviewC.getSettings().setUseWideViewPort(true);

                        // show loading progress in the title bar
                        webviewC.setWebChromeClient(new WebChromeClient() {
                            @Override
                            public void onProgressChanged(WebView view, int progress) {
                                activity.setProgress(progress);
                                // The progress meter will automatically disappear
                                // when
                                // we reach 100%
                                if (progress == 100) {
                                    setProgressBarVisibility(View.GONE);
                                }
                            }
                        });

                        // show message if error
                        webviewC.setWebViewClient(new WebViewClient() {
                            @Override
                            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                                Toast.makeText(activity, "Desole! " + description, Toast.LENGTH_SHORT).show();
                            }
                        });
                        webviewC.loadDataWithBaseURL("http://www.somebaseurl.org", aStringContainingHTML, "text/html", "UTF-8", "");
                    } catch (Exception e) {
                        Toast.makeText(activity, "Oh, no! " + e.getMessage(), Toast.LENGTH_SHORT).show();
                    }

更新!

我得到的视频部分必须显示在 WebView(客户端请求)中,并且我得到了我刚刚从 XML 通量中发布的 html 部分,所以那里也没有选项......

【问题讨论】:

  • 为什么不使用 flash 播放视频,因为 android 有不同版本的操作系统和设备在市场上运行不同的 webkit 引擎,最好在 flash 中运行视频,2.3 以后的 flash 播放器工作好..即
  • 好吧,因为这是我从客户端获取视频的方式,而且 Android 不再支持 Flash,Google 和 Adob​​e 都不再支持
  • helpx.adobe.com/flash-player/release-note/…,,, 您还可以将视频托管到 youtube 并触发启动它的意图,随后意图匹配应用程序将作为列表出现,您可以轻松播放视频跨度>
  • 一些可能的解决方案在这里你可以看看这个stackoverflow.com/questions/7586475/…

标签: android video webview streaming device


【解决方案1】:

浏览器可能不支持 HTML5 标签来显示和播放视频。

【讨论】:

  • 好的,但是为什么它在某些版本的 android 上可以工作,而在其他版本上却不行?以及要做什么?
  • 有时您的 android webView 和默认浏览器不支持显示视频尝试下载 Mozilla 或任何其他浏览器并尝试运行视频。并尝试使用 javascript 在特定浏览器中提供打开视频的链接。并使用 setJavaScriptEnable(true) 方法在 webView 中启用 javascript
  • Java 脚本已启用,您可以从我的示例代码中看到。是的,在浏览器中,没有问题,只是在 webView 中。而且我的应用程序的性质要求我在 WebView 中显示数据,因此无法更改。
  • 研发
猜你喜欢
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-12-18
  • 2012-09-26
  • 2023-01-03
  • 2018-03-25
  • 2020-01-10
相关资源
最近更新 更多