【发布时间】:2010-08-01 04:43:30
【问题描述】:
我创建了一个使用 WebView 加载网站的应用程序。一切正常,只是我无法在应用程序中播放任何视频文件。所以,我正在寻求帮助是让我的应用程序在我单击以 .mp4 结尾的链接时启动媒体播放器。任何帮助和提示将不胜感激!
【问题讨论】:
-
您想在您的应用程序中使用自己的媒体播放器(SDK 的 MediaPlayer.java 类),还是要启动系统的默认媒体播放器?
标签: android
我创建了一个使用 WebView 加载网站的应用程序。一切正常,只是我无法在应用程序中播放任何视频文件。所以,我正在寻求帮助是让我的应用程序在我单击以 .mp4 结尾的链接时启动媒体播放器。任何帮助和提示将不胜感激!
【问题讨论】:
标签: android
您需要覆盖 webViewCient 的 shouldOverrideUrlLoading 方法...
final class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp4") {
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));
view.getContext().startActivity(intent);
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}
}
...您分配给您的网络视图:
WebViewClient webViewClient = new MyWebViewClient();
webView.setWebViewClient(webViewClient);
编辑: 添加也很重要:
webView.getSettings().setAllowFileAccess(true);
允许文件下载/流,例如 mp4 文件。
【讨论】:
注意:您可能还想设置数据类型。这似乎解决了 Android 4.0(冰淇淋三明治)中的一些问题。例如:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
startActivity(intent);`
【讨论】: