videoView播放视频

来源:互联网 发布:华为手机网络连接错误 编辑:程序博客网 时间:2024/06/06 00:59
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@mipmap/jenus_bg"    tools:context=".act.Welcome">    <ImageView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_centerInParent="true"        android:scaleType="fitXY"        android:src="@mipmap/welcome" />    <VideoView android:id="@+id/videoView"        android:layout_width="match_parent"        android:visibility="gone"        android:layout_height="match_parent" /></RelativeLayout>

代码

package com.mindasset.lion.act;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.media.MediaPlayer;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.text.TextUtils;import android.view.View;import android.widget.MediaController;import android.widget.RelativeLayout;import android.widget.VideoView;import com.alibaba.fastjson.JSON;import com.mindasset.lion.R;import com.mindasset.lion.inf.DownCallback;import com.mindasset.lion.inf.DownloadCallBack;import com.mindasset.lion.inf.ILogin;import com.mindasset.lion.inf.IUpdate;import com.mindasset.lion.json.bean.Resource;import com.mindasset.lion.local.MindApplication;import com.mindasset.lion.base.BaseActivity;import com.mindasset.lion.entity.LoginInfo;import com.mindasset.lion.entity.ResponseInfo;import com.mindasset.lion.exception.HttpException;import com.mindasset.lion.json.bean.MindHttpEntity;import com.mindasset.lion.json.bean.Request;import com.mindasset.lion.inf.IResult;import com.mindasset.lion.local.MindDB;import com.mindasset.lion.update.Update;import com.mindasset.lion.util.AESUtils;import com.mindasset.lion.util.DownloadUtils;import com.mindasset.lion.util.HttpManager;import com.mindasset.lion.util.MindHttp;import com.mindasset.lion.util.SharePreperfrenceeUtil;import com.mindasset.lion.util.URLUtils;import net.tsz.afinal.FinalHttp;import net.tsz.afinal.http.AjaxCallBack;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;public class Welcome extends BaseActivity {    private VideoView mVideoView;    private int flag=0;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_welcome);        mVideoView= (VideoView) findViewById(R.id.videoView);        Resource[]resources=mApplication.checkAllResource();        if(resources!=null&&resources.length>0){            int len=resources.length;            final String[]targets=new String[len];            final String[]urls=new String[len];            final String[]names=new String[len];            String root=Environment.getExternalStorageDirectory().getPath();            for(int i=0;i<resources.length;i++){                targets[i]=root+File.separator+".mindasset"+File.separator+".resource"+File.separator+resources[i].url.substring(resources[i].url.lastIndexOf("/"));                urls[i]=resources[i].url;                names[i]=resources[i].name;            }            new Thread(){                @Override                public void run() {                    super.run();                    DownloadUtils.getInstance().download(urls, targets,names, new DownCallback() {                        @Override                        public void finish() {                            runOnUiThread(new Runnable() {                                @Override                                public void run() {                                    goToApp();                                }                            });                        }                        @Override                        public void success(final String url, final String name, final File file) {                            runOnUiThread(new Runnable() {                                @Override                                public void run() {                                    MindDB.getInstance(Welcome.this).saveResource(url, file.getPath(), name);                                }                            });                        }                        @Override                        public void start() {                        }                        @Override                        public void fail() {                            DownloadUtils.getInstance().download(urls,targets,names,this);                        }                        @Override                        public void success() {                        }                        @Override                        public void progress(int progress, int max) {                        }                    });                }            }.start();        }else{            goToApp();        }        new Thread(){            @Override            public void run() {                super.run();                File file=Environment.getExternalStorageDirectory();                File f=new File(file.getPath()+File.separator+".mindasset"+File.separator+"logo.png");                if(!f.getParentFile().exists()){                    f.getParentFile().mkdirs();                }                if(!f.exists()){                    Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.mipmap.logo);                    try {                        bitmap.compress(Bitmap.CompressFormat.PNG,100,new FileOutputStream(f));                    } catch (FileNotFoundException e) {                        e.printStackTrace();                    }                }            }        }.start();    }    private void play(MediaPlayer.OnCompletionListener completionListener){        if(flag==1){            completionListener.onCompletion(null);        }else {            RelativeLayout.LayoutParams layoutParams =                    new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);            mVideoView.setLayoutParams(layoutParams);            mVideoView.setVisibility(View.VISIBLE);            Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.start);            mVideoView.setVideoURI(uri);            mVideoView.setOnCompletionListener(completionListener);            mVideoView.start();            mVideoView.requestFocus();        }    }    private void goToApp(){        final LoginInfo loginInfo = SharePreperfrenceeUtil.getLoginInfo(Welcome.this);        if (TextUtils.isEmpty(loginInfo.name) || TextUtils.isEmpty(loginInfo.password)) {            play(new MediaPlayer.OnCompletionListener() {                @Override                public void onCompletion(MediaPlayer mp) {                    stepInto(I18n.class, true);                }            });        } else {            Request request = new Request();            request.mobile = loginInfo.name;            request.password = loginInfo.password;            String version = mApplication.getVersionCode();            request.platform = "Android";            String language = getLanguageCode(SharePreperfrenceeUtil.getLanguageSetting(Welcome.this));            HttpManager.getInstance(Welcome.this).doPost(URLUtils.getBaseUrl() + URLUtils.get_login().replaceAll("####", language).replaceAll("@@@@", version), JSON.toJSONString(request), new IResult() {                @Override                public void onSuccess(ResponseInfo<String> responseInfo) {                    try {                        MindHttpEntity entity = JSON.parseObject(responseInfo.result, MindHttpEntity.class);                        if (entity != null) {                            entity.init();                            if (entity.status == 0) {                                mApplication.updateUserInfo(entity.mData);                                mApplication.getMessageFromService();                                mApplication.setHuanxinEnable(true);                                mApplication.getMindUserInfo();                                mApplication.loginEase(new ILogin() {                                    @Override                                    public void success() {                                    }                                    @Override                                    public void fail() {                                        Request loginFailRequest = new Request();                                        loginFailRequest.uid = mApplication.getUserInfo().getUid();                                        HttpManager.getInstance(Welcome.this).doPut(URLUtils.getBaseUrl() + URLUtils.get_login_huanxin_fail(), loginFailRequest.toString(), new IResult() {                                            @Override                                            public void onSuccess(ResponseInfo<String> responseInfo) {                                            }                                            @Override                                            public void onFailure(HttpException e, String s) {                                            }                                        });                                    }                                });                                play(new MediaPlayer.OnCompletionListener() {                                    @Override                                    public void onCompletion(MediaPlayer mp) {//                                        while(!(mApplication.checkResource("brain"))){//                                            try {//                                                Thread.sleep(100);//                                            } catch (InterruptedException e) {//                                                e.printStackTrace();//                                            }//                                        }                                        stepInto(Main.class, true);                                    }                                });                            } else {                                play(new MediaPlayer.OnCompletionListener() {                                    @Override                                    public void onCompletion(MediaPlayer mp) {                                        stepInto(Login.class, true);                                    }                                });                            }                        } else {                            play(new MediaPlayer.OnCompletionListener() {                                @Override                                public void onCompletion(MediaPlayer mp) {                                    stepInto(Login.class, true);                                }                            });                        }                    } catch (Exception e) {                        e.printStackTrace();                        play(new MediaPlayer.OnCompletionListener() {                            @Override                            public void onCompletion(MediaPlayer mp) {                                stepInto(Login.class, true);                            }                        });                    }                }                @Override                public void onFailure(HttpException e, String s) {                    play(new MediaPlayer.OnCompletionListener() {                        @Override                        public void onCompletion(MediaPlayer mp) {                            stepInto(Login.class, true);                        }                    });                }            });        }    }    @Override    protected void onDestroy() {        super.onDestroy();    }}
0 0
原创粉丝点击