这是我的第一个问题,所以请温柔...
好的,这就是问题所在。我必须在 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 部分,所以那里也没有选项......