ポップアップ フレームが表示されるよりも、ユーザーが Web ビューのビデオ リンクをクリックしたときにポップアップ フレームを表示し、そのフレーム レイアウト ビデオ サーフェスに SD カードからビデオを再生し、ビデオ終了後にフレーム レイアウトが自動的に閉じられ、Web ビューが再び表示されます。私はグーグルで検索し、スタックオーバーフローにはいくつかの助けがありますが、コードを書くためのテクニックがわかりません。どうすればポップアップフレームレイアウトを表示でき、どうすればウェブビューを表示できるかという混乱があります。
現在、私は拡張機能をチェックしており、ビデオ拡張機能が見つかった場合は、メディア プレーヤーの意図を起動します。しかし、私はそれを望んでいません。Web ビュー内で再生する必要がありますが、ポップアップのようなビデオ サーフェスで再生する必要があります。
これが私のコードで、私のレイアウトファイルにはwebviewのみが含まれており、アセットフォルダーからhtmlをロードしており、sdカードからビデオを再生しています..
どんな助けでも大歓迎です
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webview);
String html = "<embed src=\"file:///android_asset/" + "test.html" + " \"play=\"true\" loop=\"true\" width=\"100%\" height=\"100%\"> <embed>";
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "utf-8", null);
WebViewClient webViewClient = new WebViewClient();
webView.setWebViewClient(webViewClient);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
if (url.endsWith(".m4v")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri
.parse(url));
intent.setDataAndType(Uri.parse(url), "video/*");
view.getContext().startActivity(intent);
}
else
{
super.onLoadResource(view, url);
}
}
});}
}
ここにHTMlファイルがあります
<html lang="en">
<head>
<meta charset=utf-8>
<title>Sample HTML5 Structure</title>
<SCRIPT LANGUAGE="JavaScript">
function playvideo(url){
window.location=url;
}
</SCRIPT>
</head>
<body>
<video src="file:///sdcard/kummar.m4v" width="300" onclick="playvideo('file:///sdcard/ku<p>testing of video element.</p>
</video>
</body>
</html>