记录最近遇到的一个android播放视频的需求:
APP主页上方有一个操作演示字样的入口,点击后开始播放一段视频,视频文件是放在工程里的。

话说以前还没做过类似播放视频的功能,根据以往的经验来看,最简单就是调起系统的或者三方的视频播放器来直接使用,应该就像跳转拨号界面一样简单吧,并且旁边的ios的就是这么做的,放在项目中的视频可以直接使用系统播放器来播放。

然而做起来之后发现android并不是这样的,找来找去发现如果是放在项目中的视频文件并不能直接调起系统或三方播放器来播放(如果有方法,还请留言交流),能调起系统等播放的视频只能是存放在本地sd卡上,或者是播放网络视频才可以,由此,只能选择在程序中实现视频播放器的功能了,使用videoview控件来播放项目中的视频文件,倒也不难,总结如下:

一、首先把视频资源放到项目中的res/raw目录下,命名规范遵循必须是小写字母、数字或下划线

二、新建一个独立的,用于整屏播放视频的activity

//布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><RelativeLayout
        android:layout_width="match_parent"android:layout_height="match_parent" ><VideoView
            android:id="@+id/public_videoView"android:layout_width="match_parent"android:layout_height="match_parent" /></RelativeLayout></LinearLayout>
//注册新activity的项目清单文件
//标签中添加screenOrientation="landscape"自动横屏,不写默认竖屏
<activityandroid:name="com.sunny.chongdianxia.activity.VideoActivity"android:screenOrientation="landscape" />

三、activity中的主要实现

VideoView public_videoView; //定义控件@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.public_video);//初始化控件public_videoView =(VideoView)findViewById(R.id.public_videoView);//首先拼出在资源文件夹下的视频文件路径string字符串String url = "android.resource://" + getPackageName() + "/" + R.raw.cdx_czsm;//字符串解析成UriUri uri = Uri.parse(url);     //给videoview设置播放资源public_videoView.setVideoURI(uri);//这里用相对布局包裹videoview 实现视频全屏播放 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);public_videoView.setLayoutParams(layoutParams);public_videoView.start();}

ps:如有问题,留言交流

Android VideoView播放 项目中的 视频文件 自动横屏 全屏播放相关推荐

  1. 安防互联网摄像头海康大华硬盘录像机视频流媒体服务器EasyNVR在layer弹出层中使用video标签无法最大化全屏播放问题解决

    诞生背景 众所周知,EasyNVR可以将局域网/广域网上的海康/大华等网络摄像头由rtsp转换为rtmp.rtsp.hls.flv协议转换,并提供推流服务,可以将拉到的网络摄像头直接转发到流媒体服务器 ...

  2. html 播放ftp上的视频文件,如何让 FTP 支持播放视频文件?

    电池容量 55 瓦时,续航时间视频播放 5 小时.本地视频播放 5.5 小时.上网浏览 6.5 小时.iphone不仅能够浏览和浏览网页.发送和接收带有附件的电子邮件.组织播放和购买音乐视频,甚至还可 ...

  3. Android中使用自定义的VideoController和MediaPlayer实现视频的窗口和全屏播放

    基于MediaPlayer的能窗口和全屏切换的视屏播放器 之前在一个项目中做了一个能窗口化和全屏切换的播放器,做之前在网上也看了很多的demo,今天为了记录下自己的学习成果,特意将它写下来供自己以后参 ...

  4. windows7中双击视频文件不能用终极解码播放问题的解决

    windows7系统中安装终极解码,uac处于开启状态的时候: 双击视频文件不能打开终极解码: 运行我的播放器也没有反应: 用管理员身份能打开我的播放器,但向播放器拖拽文件也不能播放. 后来找到原因, ...

  5. php让视频自动全屏播放,完美解码怎么设置打开视频文件就全屏

    想不想在电脑上实现打开视频文件就直接全屏播放,一般播放器做不到吧,完美解码这个万能的视频播放器就能实现,下面就教你如何设置. 软件名称:完美解码(PureCodec) 全能型影音解码包20200922 ...

  6. 如何禁止视频在手机移动端页面中全屏播放

    最近公司的项目中出了需要在局部播放视频的需求,我们都知道HTML5中有一个专门的标签video用来嵌入视频.不过,这个video标签有很多的属性可能很多同学并不是很熟悉,下面我们来认识一下: 在网页里 ...

  7. Chromium为视频标签 video 全屏播放的过程分析

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Chr ...

  8. Chromium为视频标签video全屏播放的过程分析

    在Chromium中,<video>标签有全屏和非全屏两种播放模式.在非全屏模式下,<video>标签播放的视频嵌入在网页中显示,也就是视频画面作为网页的一部分显示.在全屏模式 ...

  9. 微信内置浏览器 非全屏播放视频解析

    前提条件,接了一个项目要实现在微信公众号里课程播放,而且还有评论功能,视频需要小窗播放. 首先公布解决方案: 感谢知乎上的回答,原版微信内置浏览器 如何小窗不全屏播放视频? 感谢该问题的徐霖同学的回答 ...

最新文章

  1. 【学习笔记】超简单的多项式开方
  2. 前端界面的rem适配换算
  3. 003_ZooKeeper服务端集群搭建
  4. dot pairs 点_Dott入局欧洲共享单车市场 明年3月伦敦巴黎推出
  5. 程序人生:什么是“对用户友好”
  6. Mac 下隐藏显示隐藏文件
  7. 宁德时代是前8个月全球最大电动汽车电池供应商
  8. Mysql更新数据库数据sql_一条更新SQL在MySQL数据库中是如何执行的
  9. opencv-api draw
  10. Affinity Designer 查询面板渐变颜色
  11. 充电书库-study
  12. 为什么会有 Ajax?
  13. python入门之发送邮件
  14. matlab 梳妆函数,梳状函数.PPT
  15. 吉林警方重击涉黑涉恶犯罪 一年打掉439个团伙
  16. 计算机什么是符号健,在电脑健盘上怎么打:符号
  17. 易方机器人教育怎么样_易方机器人教育加盟费用
  18. linux电子数码相册实验报告,Linux实验报告.doc
  19. 改进YOLOv5 | Stand-Alone Self-Attention | 针对视觉任务的独立自注意力层 | 搭建纯注意力FPN+PAN结构
  20. AMBER免费申请流程

热门文章

  1. new date的含义
  2. 1块钱30分钟利用华为云服务器配置一台云电脑并搭建一个简易网站(步步截图较详细)
  3. 计算机中丢失 msvcr110.dll 怎么办
  4. 基于 EG6831 的无感 BLDC 控制方案
  5. 携程2021年国庆出游报告出炉
  6. Musical Christmas Lights——一个圣诞树灯光✨随音乐节奏改变的前端开源项目
  7. 运用数学软件matlab求无穷积分,matlab积分的计算及其简单应用论文.doc
  8. C语言输入年月日判断距今,C语言课程设计万年历打印.doc
  9. C语言数据的表现形式及其运算
  10. gta5为什么显示更新无法连接服务器,gta5无法更新服务器