String path = "http:.........."; // 下载地址// 创建文件夹,在存储卡下String dirName = Environment.getExternalStorageDirectory() + "/" + mContext.getPackageName();File file = new File(dirName);// 文件夹不存在时创建if (!file.exists()) {file.mkdir();}// 下载后的文件名int i = path.lastIndexOf("/"); // 取的最后一个斜杠后的字符串为名String fileName = dirName + path.substring(i, path.length());File file1 = new File(fileName);if (file1.exists()) {// 如果已经存在, 就不下载了, 去播放startVideo(fileName);} else {new Thread(new Runnable() {@Overridepublic void run() {DOWNLOAD();}}).start();}
// 下载具体操作private void DOWNLOAD() {try {URL url = new URL(path);// 打开连接URLConnection conn = url.openConnection();// 打开输入流InputStream is = conn.getInputStream();// 创建字节流byte[] bs = new byte[1024];int len;OutputStream os = new FileOutputStream(fileName);// 写数据while ((len = is.read(bs)) != -1) {os.write(bs, 0, len);}// 完成后关闭流Log.e(TAG, "download-finish");os.close();is.close();//            }} catch (Exception e) {e.printStackTrace();Log.e(TAG, "e.getMessage() --- " + e.getMessage());}}
// 播放视频private void startVideo(String videoURI) {videoview.setVisibility(View.VISIBLE);videoview.setLayoutParams(new RelativeLayout.LayoutParams(UtilsTools.getCurScreenWidth(mContext), UtilsTools.getCurScreenWidth(mContext) / 3 * 4)); // 此行代码是设置视频的宽高比是3/4,不需要就注释掉即可// 设置播放加载路径//        videoview.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.aaa));videoview.setVideoURI(Uri.parse(videoURI));// 播放videoview.start();// 循环播放//        videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//            @Override//            public void onCompletion(MediaPlayer mediaPlayer) {//                videoview.start();//            }//        });}

Android中视频文件的下载和播放相关推荐

  1. iOS音视频实现边下载边播放

    iOS音视频实现边下载边播放 近段时间制作视频播放社区的功能,期间查找了不少资料,做过很多尝试,现在来整理一下其中遇到的一些坑.由于考虑到AVPlayer对视频有更高自由度的控制,而且能够使用它自定义 ...

  2. android 与后台实时视频,android选择视频文件上传到后台服务器

    本文实例为大家分享了android选择视频文件上传到后台服务器的具体代码,供大家参考,具体内容如下 选择本地视频文件 首先第一步打开打开相册选择视频文件: Intent intent = new In ...

  3. Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器

    Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器实例的示例: public class AudioPlayer implements MediaPlayer.OnPre ...

  4. android修改dll文件,Android中dll文件的修改

    Android中dll文件的修改,最近下载了一款非常不错的益智类游戏,一打开,顶部还有广告,最讨厌游戏中还带广告的,点又点不掉,又怕误点,真的看了都烦...作为程序员,就有种想要把它干掉的想法,作为玩 ...

  5. 修改Android中的文件权限

    在Android中有一个精简版的linux系统,因为是linux系统,那么有时候在写Android应用程序的时候会遇到权限问题.我们都知道在shell中可以通过chmod命令来修改权限,所以就希望通过 ...

  6. android 生成aar文件,Android 中.aar文件生成方法与用法

    https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...

  7. Android中Assets文件路径

    Android中Assets文件绝对路径是不存在的 一般Assets文件夹里放些网页文件html.css.js 在网页文件中引用assets里的文件可以使用file:///android_asset/ ...

  8. Android中R文件ID值

    Android中R文件ID值 文章目录 Android中R文件ID值 前言 知识回顾 在代码中访问资源 语法 R文件 Lib库的R文件 AAR中的R文件 依赖库R文件的生成 R文件的数量 后续疑问 官 ...

  9. android 读写文件 简书,Android 中的文件操作

    Android 文件操作 概述 Android 中的文件操作主要涉及到两个部分,一个是内部存储的读写,一个是外部存储的读写两者的主要区别如下表: 内部存储 外部存储 始终可用 它并非始终可用,因为用户 ...

最新文章

  1. 独家 | CycleGAN之美 赛马翻译成斑马背后的直觉和数学(附论文)
  2. unity 打开指定文件夹_unity 打开指定路径文件夹
  3. 基本的输入输出函数介绍
  4. hdu 3016 Man Down
  5. 327 区间和的个数
  6. FAL风控培训「六大场景下,模型分数如何应用?」
  7. 高可用集群原理概念详述
  8. python之计算空间向量夹角
  9. SpringBoot两种定时任务(Spring Schedule 与 Quartz 整合 )实现
  10. [Python] 使用 UN Comtrade API 高效获取数据
  11. 香港服务器的数据泄露是什么?怎样预防?
  12. 服务器怎么多开虚拟机,服务器多开虚拟机操作系统
  13. Pytorch学习记录(七):自定义模型 Auto-Encoders 使用numpy实现BP神经网络
  14. FPGA进行数字信号处理通过DAC转化为波形的初步理解
  15. R及R Studio下载及简单介绍(界面+R语言)
  16. 为什么会患糖尿病足?可能与这5种原因有关
  17. Paper:研究生论文撰写(期刊论文与毕业论文简介、比较、写作流程)详细攻略
  18. FPGA能做什么?比单片机厉害吗?
  19. html页面窗口缩小排版就乱了,为什么在正常窗口排版正常,窗口一缩小排版就都乱了...
  20. kaptcha验证码使用

热门文章

  1. intel 芯片组简介
  2. 曲线曲面造型系统Demo1
  3. 教材未出、大纲调整,2020执业药师考试如何做好首轮备考?
  4. matlab万有引力模拟,Unity模拟万有引力
  5. mongodb Index(2)
  6. 小学生计算机课教学计划,2017小学生计算机教学计划3篇
  7. React 中 useState 清理的必须性
  8. FISCO BCOS将于4月完成BSN适配并开启公测 | 附BSN开发者大赛作品下载
  9. 一篇很好的文章,学verilog的可以好好看看!(转载)
  10. Spring 如何解决循环依赖问题