我裝在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