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
- Android VideoView播放视频
- VideoView播放视频
- Android VideoView播放视频
- 使用VideoView播放视频
- 播放视频-VideoView用法
- VideoView简单视频播放
- Android VideoView播放视频
- Android VideoView播放视频
- Android VideoView播放视频
- VideoView播放视频
- android videoview播放视频
- android---视频播放---VideoView
- 利用VideoView播放视频
- 使用VideoView播放视频
- videoview实现视频播放
- 利用VideoView播放视频
- 使用VideoView播放视频
- 使用VideoView播放视频
- js获取网页高度(详细整理)
- 【noip2009提高组】 最优贸易 邻接表+SPFA
- 【BJOI】【欧拉函数】Euler
- Linux使用gnuplot将数据生成图
- 输入三角形的三边长(已确定能构成三角形),求三角形面积。
- videoView播放视频
- 221. Maximal Square
- 浏览器兼容性问题
- [Lintcode]Reorder List 重排链表
- Mac 下 查看 使用某端口的进程和关闭该进程的命令
- HTML5 表单验证的oninvalid事件
- Data structure 2016 17th
- The maximum number of apps for free development profiles has been reached.
- python学习-模块引入