【发布时间】:2013-05-29 12:06:20
【问题描述】:
我正在尝试在 webView 中使用 HTML5 在 android 中播放 mp4 视频,但不幸的是它不起作用,所以任何人都可以帮助我,我该怎么做?
这是我的代码 HTML 文件名为 new2.html
<video width="365" height="200" src="/sdcard/Download/video.mp4" controls autobuffer></video>
<!--<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls autoplay>
<source src="/sdcard/Download/video.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</body>
</html>-->
Java文件是:
public class WebActivity extends Activity {
WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.web_activity);
wv = (WebView) findViewById(R.id.webview);
wv.loadUrl("file:///android_asset/new2.html");
wv.getSettings().setAllowFileAccess(true);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginsEnabled(true);
// webview.loadUrl("file:///android_asset/new.html");
}
}
XML 文件是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
【问题讨论】:
-
我注意到的第一件事是视频标签引用了一个本地文件(在 /sdcard 上)。我想知道这是否允许(即使您正在通过本机应用程序调用 Web 视图)。如果用本地服务器上的 URL 替换该本地文件,视频会播放吗?如果是这样,那么这就是您有权限/访问问题的线索。
-
你说“不工作”。你能详细说明吗?您是否启用了硬件加速(参见gist.github.com/3718414 示例)
-
@Offbeatmammal 我也试过了,但它不起作用意味着我得到一个 365*200 的屏幕以及视频视图的播放暂停、搜索、全屏等控件,但屏幕是空的。我试过 .mp4 和 swf 都没有播放。
-
@Multimedia Mike 这不是我的要求,我想使用 html 从本地 sd 卡播放视频。
标签: html video android-webview