MP4,3GP,MPEG,MP3内部或web视图之外的流 [英] mp4, 3gp, mpeg, mp3 streamed inside or outside of webview
本文介绍了MP4,3GP,MPEG,MP3内部或web视图之外的流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有证实的解决方案通过web视图运行MP4,3GP或MP3文件?我终于有我的code工作
Is there any confirmed solution to running mp4, 3gp or mp3 files via webView? I finally have my code working
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp3")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "audio/*");
view.getContext().startActivity(intent);
return true;
} else if (url.endsWith(".mp4") || url.endsWith(".3gp")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
view.getContext().startActivity(intent);
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}
不过该行:
return super.shouldOverrideUrlLoading
将返回错误: 该方法shouldOverrideUrlLoading(的WebView,字符串)是未定义的类型活动
is returning the error: " The method shouldOverrideUrlLoading(WebView, String) is undefined for the type Activity"
我根本找不到这种随时随地的解决方案,我敢肯定,我已经做了伟大的工作,建设这个项目因为我只学的Android在过去的6个星期。
I simply cannot find a solution for this anywhere and I'm sure I've done a great job building this project given that I've only been learning Android for the past 6 weeks.
推荐答案
试试这个,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.articlelayout);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setWebViewClient(new ArticleWebViewClient());
}
private class ArticleWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp3")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "audio/*");
startActivity(intent);
return true;
} else if (url.endsWith(".mp4") || url.endsWith(".3gp")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
startActivity(intent);
return true;
} else {
return false;
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
}
这篇关于MP4,3GP,MPEG,MP3内部或web视图之外的流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文