位置: 编程技术 - 正文

Android 手机影音 学习过程记录(三)(安卓版影音播放器哪个好用)

编辑:rootadmin

推荐整理分享Android 手机影音 学习过程记录(三)(安卓版影音播放器哪个好用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓手机影音播放器哪个好用,影音 安卓,安卓手机影音播放器哪个好用,手机影音播放器软件,安卓手机影音播放器哪个好用,安卓手机版下载安装影音,安卓手机影音播放器哪个好用,安卓手机影音播放器哪个好用,内容如对您有帮助,希望把文章链接给更多的朋友!

前一篇已经将MainActivity编写好了,其中主页面的ViewPager控件嵌入的是两个fragment,分别是VideoListFragment 和 AudioListFragment。今天主要理一下视频这一模块,包括:

通过ContentProvider获取视频列表数据(使用AsyncQueryHandler异步获取)

自定义播放页面

播放页面逻辑处理(播放、暂停、切换、音量等)

效果图

结构图

获取视频列表数据

分析:

观察视频列表,我们需要这些数据:视频名称(TITLE),视频时长(DURATION),视频大小(SIZE),当然每一个视频都有一个唯一的路径(DATA),这个也需要。 那么就可以将这些视频共有的属性封装成一个JavaBean。

这里用游标cursor去查视频数据,适配器就继承CursorAdapter,它是BaseAdapter的子类。在newView()方法里,加载每一项的布局文件;在bindView()方法中,如果view不为空,设置数据,否则会先调用newView()方法生成一个View。

说明:bindView()方法中通过cursor获取数据的方法封装到VideoItem的JavaBean中了,主要是为代码整洁,具体代码如下:

视频列表的适配器写好了,如何获取数据呢?想一想,如果视频很多的话,能在主线程操作吗?显然不能,android给我们提供了这样一个类:AsyncQueryHandler,它是个抽象类,我们需要写一个类去继承它。(它给我们提供了一个查询完成的回调方法,我们可以在这个方法里更新listview)获取数据的方法如下:(罗列出要查询的列后,通过我们自己写的queryHandler的startQuery()就行了,就这么简单)Android 手机影音 学习过程记录(三)(安卓版影音播放器哪个好用)

至此,就可实现上面视频列表的效果图的样子了。

自定义播放页面

接来下实现播放视频的Activity。

视频为什么能播放?肯定是在点击listview的一个item传了数据过来了呀,是传当前视频的信息吗?进一步想想,播放视频的页面是可以切换上一个下一个视频的啊,所以传过来的不能只是一个视频信息,得是所有视频信息的一个集合。还得传一个当前视频的position来作为要播放的一个标记。

数据是传过来了,别忙处理,先将VideoPlayerActivity的布局分析一下(开头的结构图已经列出该页面的布局了。这里再讲一下具体的布局方法)

首先,像这种层叠式布局用RelativeLayout或者FrameLayout都可以,这里用RelativeLayout,它更灵活些。里面首先是个VideoView,宽高都是铺满屏幕,但是系统提供的这个视频控件只能支持部分格式的视频,我们知道视频有很多格式,如果你这个播放器不能支持绝大多数,那肯定没人会用,所以,这里使用一个开源的框架vitamio,支持所有格式视频。其次,上下的布局文件可分别写在不同文件中,最后include进来。为增加用户体验,可在增加一个正在加载的页面和一个播放卡顿时的缓冲页面。

头部控制面板的布局:

底部控制面板布局:

至此,视频播放器页面自定义的布局就弄好了。

至于播放页面逻辑,有很多很多,准备在下一篇博文中在去整理。先放一张MediaPlayer的类图:了解一下音视频在播放前中后各个方法的调用。

补充

引入库工程 android studio在导入外部库工程的时候,网上有很多方法,我是这样做的:就以vitamio为例,将下载好的压缩解压,找到vitamio文件夹,然后整体复制到android studio的工作区间中,clean一下project,这个资源库会报错,应该是编译版本的问题,打开vitamio的build.gradle,修改里面的编译的sdk版本,就可以了,附张图吧

引用.9图片 在上面很长很长的布局文件中,如果仔细看的话,会发现在引用资源图片时,有的是@mipmap,有的是@drawable,是这样的:在android studio下引用的 .9 图片放在mipmap文件夹下面不能被引用,我的做法是,新建了一个drawable-xhdpi文件夹,将.9图片放进去,就能正常引用了。

自定义SeekBar样式:

thumb就是进度条上的那个小圆点的图片

video_progress_drawable代码如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android - Designtime Layout Attributes & Tools Attributes DesigntimeLayoutAttributesAsofAndroidStudio0.2.,thelayoutrendering(usedinboththelayouteditoraswellastheXMLeditorlayoutpreviewwindow),supportsdesigntimelayoutattributes.Theseareattributeswhichareused

Android异常 本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。1.异常机制1.1异常机制是

FrameLayout(框架布局) 框架布局是最简单的布局形式。所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的控件被放在最底层,最后一个添加到框架布局中的视

标签: 安卓版影音播放器哪个好用

本文链接地址:https://www.jiuchutong.com/biancheng/376532.html 转载请保留说明!

上一篇:Android startActivities()的使用

下一篇:Android - Designtime Layout Attributes & Tools Attributes

  • 建筑业购买材料计入什么科目
  • 城建税的税目是哪些
  • 注销公司详细步骤
  • 金蝶kis旗舰版使用手册
  • 账簿登记的重要内容
  • 异常增值税扣税凭证
  • 发包工程会计账务处理
  • 怎么确定是不是本人
  • 小规模企业怎么报税
  • 什么情况下进项税额不得从销项税额中抵扣
  • 社保补缴上月的在当月扣款
  • 处理固定资产如何开票
  • 所得税汇算清缴扣除标准
  • 夫妻双方交契税可以一人到嘛
  • 企业出租包装物收取的押金应通过其他应收款账户核算
  • 买一赠一怎么确定真假
  • 银行转账备用金是什么意思
  • 转出未交增值税科目
  • 工会经费的计税依据包括单位社保吗
  • 华为mate pro翻转静音
  • 品牌转让怎么写
  • 企业转让房产所得税税率
  • php数组函数输出《咏雪》里有多少"片"字
  • 鸿蒙系统怎么安装电脑
  • 如何设置两台路由器连接
  • 原材料和固定资产入账价值的计算
  • svchost一直在下载什么
  • 计提固定资产折旧怎么做会计科目
  • 工业企业采购部职责
  • 微信php开发教程
  • 农产品抵扣进项税额的规定
  • php实现登录功能
  • 人工智能机器人保姆什么时候实现
  • 20分钟,使用Amazon SageMaker快速搭建属于自己的AIGC应用
  • dhclient卡住
  • phpipam安装
  • python 字典的字典
  • 开发票零税率和免税是一样的意思吗
  • 未分配利润为负数怎么调整
  • 购进农产品直接销售核定农产品增值税进项税额计算表
  • 小企业会计制度的适用对象是
  • 社保和公积金在不同单位交可以吗
  • 火车头 采集器
  • 关于python序列类型
  • 怎么盘存货
  • 内账的账务处理
  • 工程服务费会计怎么做账
  • 小微企业全年营业额不能超过多少
  • 购入房产会计记账凭证怎么做
  • 外购材料时所支付的增值税应如何处理
  • 收到项目资本金怎么入账
  • 多计费用以前年度损益调整账务处理
  • 车辆报废取得的收入增值税怎么算
  • 固定资产的主要特征
  • 货物破损怎么写会计分录
  • 企业计提坏账准备遵循的会计信息质量要求是
  • 增值税专用发票开了有什么用
  • 个税抵扣项目是什么
  • 餐饮企业的内部营销
  • 如何给初建单位发邮件
  • 房地产企业的土地使用权计入什么科目
  • win7系统重启后多了一个安全启动用户
  • ubuntu怎么切换桌面
  • solaris8+apache2+weblogic813+db2_82客户端+128 安装过程
  • openssl安装教程
  • vc精华氧化变黄
  • rds是啥
  • win101607升级1909
  • centos暂停
  • windows8.1应用商店打不开
  • css翻转正反面
  • django rest framework和django区别
  • javascript如何输出变量
  • python中的\r
  • JavaScript事件类型中UI事件详解
  • Python字符串的常用方法
  • 河南税务公众号缴费养老保险
  • 账本遗失征管法处罚
  • 神马电力几号发行
  • 湖北航天金税盘服务器地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设