MP4,3GP,MPEG,MP3内部或web视图之外的流 [英] mp4, 3gp, mpeg, mp3 streamed inside or outside of webview

查看:145
本文介绍了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"

我根本找不到这种随时随地的解决方案,我敢肯定,我已经做了伟大的工作,建设这个项目因为我只学的Andr​​oid在过去的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆