これでいくつかの読み込み時間が節約されるかもしれません....私のWEBVIEWでMP4ビデオを再生しようとしている時WEBVIEW BROWSERの中でビデオを再生する必要はありません。私は完全にそれと同じようにアンドロイドのためにネイティブのビデオプレーヤーをキックするいくつかのコードでOKです。より良い解決策があるのであれば、私は自分のWEBVIEWを修正するのと同じくらいこれまでに私が知っていたものよりも、私はそれがすべてです。Android WebView内でダイナミックmp4ビデオを再生するには
最初に私はAndroidまたはJava開発者ではありません。しかし、コードを提供し、正しい方向に私を指し示すことは、通常、私がそこに着くのを助けます。過去4年間、私は実質的なメンバーシップを持つサイトを構築しました。 www.GoLiVeFitness.comおよびwww.GoLiveFitness.com/MobileソリューションはAsp.Netソリューションです。それは基本的にユーザーが簡単に4,800以上の無料運動ビデオを検索できるウェブサイトです。我々ははるかにクリーンな、はるかに縮小されたバージョンが、アプリのモバイル版を構築した。スマートフォンブラウザをモバイルウェブサイトに向けるようにユーザーに指示し続けるのではなく、Android WebViewを使用して内蔵HTML5ブラウザにウェブサイトを読み込むことにしました(これは私には間違いなく許してください)。
私はwebviewを完了し、サイトを完全に読み込みます。私はドロイドチャージにそれを展開することさえでき、サイトはウェブビューを通して完全にロードされます。ここに問題があります....ストアドプロシージャを含むすべてのタイプのT-SQLによって照会され、戻される動的ビデオは、Webビューで再生されません。再生ボタンをクリックすると、再生ボタンが開始されるように見えますが、決して再生されません。私は非常にすぐに私のようなものを処理するために十分なコードが私のwebviewにないと決めました。繰り返しますが、いくつかのビデオをハードコーディングすることはできません。このサイトには4,800を超えるビデオがあります。ユーザーは、例えば脚を入力して130脚の練習を取り戻すことができます。彼らは名前のリンクに触れ、ビデオを再生することによって1つを選択することができます。 ****だから私の質問は、WebViewブラウザでmp4形式のビデオを再生できるようにする方法です。私はここではうまくいくかもしれない解決策を見ましたが、コードを稼働させるには十分ではありません。私が望んでいることは、誰かが私のWebViewと共にコードを修正する手助けをすることができるということです。私が試したとき、私は多くの、多くの、多くのエラーを受けました。 WebViewブラウザで実行されるWebViewコードを貼り付けてから、ソリューションコードを貼り付けて、誰かが私に何を変更して動作させるべきかを教えてくれることを期待します。注意:私が正しいコードを本当に表示する必要がある場合は、お手伝いできれば助かります。繰り返しますが、私はこれについて非常に新しいです。
----- GoLiveFitnessActivity.javaファイルのWebViewコードのマイコード---- package golivefitness.mob;
import android.app.Activity;
import android.drm.DrmManagerClient.OnErrorListener;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.VideoView;
public class GoLiveFitnessActivity extends Activity {
private WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.golivefitness.com/mobile");
mWebView.setWebViewClient(new HelloWebViewClient());
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
私は How to play a video in a webview with android?
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;
}
}
デバイスの在庫ブラウザでモバイルサイトを参照すると、ビデオが再生されますか? – FoamyGuy
http://meta.stackexchange.com/a/129787/142802 –
を読んでください。動画は私のドロイドチャージと私の友人ドローイングで再生されます。電話機でブラウザを使用してgolivefitness.com/mobileにアクセスすれば、ログインして、すべてのビデオを再生します。あなたが好きならテストすることができます。私はそれがwebviewで同じように動作すると思ったが、明らかにそうではなかった。しかし、ブラウザからネイティブのビデオプレーヤーが起動され、私たちは完全にそれでOKです。 – user1380537