我装在SD卡本地HTML,并在这个网站我用标签:如何使用android在webview中播放视频?
<video id="myvideo" controls width="120" height="60" poster="img/img01.jpg" src="video/01.mp4"></video>
,然后我发现我没装这个网站,当我关闭标签:,在HTML工作正常,并且我在我的android avd(2.2)中测试了这个?
我装在SD卡本地HTML,并在这个网站我用标签:如何使用android在webview中播放视频?
<video id="myvideo" controls width="120" height="60" poster="img/img01.jpg" src="video/01.mp4"></video>
,然后我发现我没装这个网站,当我关闭标签:,在HTML工作正常,并且我在我的android avd(2.2)中测试了这个?
据说这是在你已经在使用2.X版本进行工作。但doc表示标签将在浏览器全屏显示时生效。
可能性是有,你的网页流量也将支持它,但它需要全屏幕。 试试这个。 (我没有试过,虽然)
编辑:为了使视图去全屏,你可以试试这个:
所有的requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
谢谢!但如何使浏览器全屏?现在我已加载HTML页面太大,我必须控制使用滚动条的时候我想看到所有的页面,以及如何加载htnl页面自动调整到我的web视图,使web视图全屏? – jin 2011-02-14 08:55:30
见使其全屏 – 2011-02-14 09:32:35
首先关心的编码。这里有一个article with a working example和一些编码Android Webkit视频的指南。
然后......当我不得不面对这个问题,我研究了一下,发现一些有用的答案。基本上,你必须打开视频的原生浏览器确实
public class InredisChromeClient extends WebChromeClient implements OnCompletionListener, OnErrorListener {
private InterfazWebInredis interfazWeb; // Use Your WebView instance instead
private VideoView mCustomVideoView;
private LinearLayout mContentView;
private FrameLayout mCustomViewContainer;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
private LinearLayout mErrorConsoleContainer;
static final FrameLayout.LayoutParams COVER_SCREEN_GRAVITY_CENTER = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT, Gravity.CENTER);
public InredisChromeClient(InterfazWebInredis iwi) {
super();
this.interfazWeb = iwi;
}
public void onShowCustomView(View view, CustomViewCallback callback) {
// super.onShowCustomView(view, callback);
if (view instanceof FrameLayout) {
mCustomViewContainer = (FrameLayout) view;
mCustomViewCallback = callback;
mContentView = (LinearLayout) interfazWeb.findViewById(R.id.mainContainer);
if (mCustomViewContainer.getFocusedChild() instanceof VideoView) {
mCustomVideoView = (VideoView) mCustomViewContainer.getFocusedChild();
// frame.removeView(video);
mContentView.setVisibility(View.GONE);
mCustomViewContainer.setVisibility(View.VISIBLE);
interfazWeb.setContentView(mCustomViewContainer);
mCustomVideoView.setOnCompletionListener(this);
mCustomVideoView.setOnErrorListener(this);
mCustomVideoView.start();
}
}
}
public void onHideCustomView() {
if (mCustomVideoView == null)
return;
// Hide the custom view.
mCustomVideoView.setVisibility(View.GONE);
// Remove the custom view from its container.
mCustomViewContainer.removeView(mCustomVideoView);
mCustomVideoView = null;
mCustomViewContainer.setVisibility(View.GONE);
mCustomViewCallback.onCustomViewHidden();
// Show the content view.
mContentView.setVisibility(View.VISIBLE);
}
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mCustomViewContainer.setVisibility(View.GONE);
onHideCustomView();
interfazWeb.setContentView(mContentView);
}
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
interfazWeb.setContentView(R.layout.main);
return true;
}
}
所以顺便说一下,这个代码是多少启发的android project source code of the browser。
和好,这种行为是打开视频全屏。我不知道是否可以在网页中以自己的框架播放视频。但是这个解决方案对我来说是个诀窍,我也希望能为你效劳。
问候
此[链接](http://stackoverflow.com/questions/3815090/webview-and-html5-video)将帮助你解决你issue.But仍然有它提到的一些问题在链接中。 – 2012-05-17 09:47:23