Android中视频文件的下载和播放
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中视频文件的下载和播放相关推荐
- iOS音视频实现边下载边播放
iOS音视频实现边下载边播放 近段时间制作视频播放社区的功能,期间查找了不少资料,做过很多尝试,现在来整理一下其中遇到的一些坑.由于考虑到AVPlayer对视频有更高自由度的控制,而且能够使用它自定义 ...
- android 与后台实时视频,android选择视频文件上传到后台服务器
本文实例为大家分享了android选择视频文件上传到后台服务器的具体代码,供大家参考,具体内容如下 选择本地视频文件 首先第一步打开打开相册选择视频文件: Intent intent = new In ...
- Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器
Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器实例的示例: public class AudioPlayer implements MediaPlayer.OnPre ...
- android修改dll文件,Android中dll文件的修改
Android中dll文件的修改,最近下载了一款非常不错的益智类游戏,一打开,顶部还有广告,最讨厌游戏中还带广告的,点又点不掉,又怕误点,真的看了都烦...作为程序员,就有种想要把它干掉的想法,作为玩 ...
- 修改Android中的文件权限
在Android中有一个精简版的linux系统,因为是linux系统,那么有时候在写Android应用程序的时候会遇到权限问题.我们都知道在shell中可以通过chmod命令来修改权限,所以就希望通过 ...
- android 生成aar文件,Android 中.aar文件生成方法与用法
https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...
- Android中Assets文件路径
Android中Assets文件绝对路径是不存在的 一般Assets文件夹里放些网页文件html.css.js 在网页文件中引用assets里的文件可以使用file:///android_asset/ ...
- Android中R文件ID值
Android中R文件ID值 文章目录 Android中R文件ID值 前言 知识回顾 在代码中访问资源 语法 R文件 Lib库的R文件 AAR中的R文件 依赖库R文件的生成 R文件的数量 后续疑问 官 ...
- android 读写文件 简书,Android 中的文件操作
Android 文件操作 概述 Android 中的文件操作主要涉及到两个部分,一个是内部存储的读写,一个是外部存储的读写两者的主要区别如下表: 内部存储 外部存储 始终可用 它并非始终可用,因为用户 ...
最新文章
- 独家 | CycleGAN之美 赛马翻译成斑马背后的直觉和数学(附论文)
- unity 打开指定文件夹_unity 打开指定路径文件夹
- 基本的输入输出函数介绍
- hdu 3016 Man Down
- 327 区间和的个数
- FAL风控培训「六大场景下,模型分数如何应用?」
- 高可用集群原理概念详述
- python之计算空间向量夹角
- SpringBoot两种定时任务(Spring Schedule 与 Quartz 整合 )实现
- [Python] 使用 UN Comtrade API 高效获取数据
- 香港服务器的数据泄露是什么?怎样预防?
- 服务器怎么多开虚拟机,服务器多开虚拟机操作系统
- Pytorch学习记录(七):自定义模型 Auto-Encoders 使用numpy实现BP神经网络
- FPGA进行数字信号处理通过DAC转化为波形的初步理解
- R及R Studio下载及简单介绍(界面+R语言)
- 为什么会患糖尿病足?可能与这5种原因有关
- Paper:研究生论文撰写(期刊论文与毕业论文简介、比较、写作流程)详细攻略
- FPGA能做什么?比单片机厉害吗?
- html页面窗口缩小排版就乱了,为什么在正常窗口排版正常,窗口一缩小排版就都乱了...
- kaptcha验证码使用