Android 使用Vitamio打造自己的万能播放器(1)——准备
前言
虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式、性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的Android万能播放器!
正文
一、实现目标
1.1 支持格式
支持主流的视音频格式:mp3/mp4/mkv/avi/3gp/rmvb/mov/flv等。
1.2 支持功能
1.2.1 当然最重要的是播放功能,含播放控制(播放、暂停,声音、亮度调整等)
1.2.2 可以扫描SDcard,用列表展现出来,可以搜索
1.2.3 可以播放网络视音频(http、rtsp、mms)
二、Vitamio项目简介
Vitamio是一个支持所有Android设备的多媒体框架。Vitamio与Android默认的MediaPlayer工作方式相似,但包含更加强大的功能!(注意:Vitamio商业化后个人免费、公司收费)
2.1 网址
官方微博:http://weibo.com/vitamio
官方网址:http://vov.io/vitamio/
2.2 成功案例
国内:VPlayer、熊猫影音、321影音等
国外:Tvltaliane、Dizi TV等
2.3 网络协议
支持以下协议的音频和视频播放:
* MMS
* RTSP (RTP, SDP)
* HTTP流式传输(progressive streaming)
* HTTP Live Streaming (M3U8), Android 2.1+
2.4 媒体格式
Vitamio集成了许多音频和视频的解码包,相比Android内置默认的媒体格式,这里列出其中的一些:
* divx/xvid
* wmv
* flv
* ts
* rmvb
* mkv
* mov
* m4v
* avi
* mp4
* 3gp
2.5 字幕
Vitamio支持显示一些内置或外挂字幕格式:
* SubRip(.srt)
* Sub Station Alpha(.ssa) / Advanced Sub Station 移步wiki
* Alpha(.ass)
* SAMI(.smi/.sami)
* MicroDVD(.sub/.txt)
* SubViewer2.0(.sub)
* MPL2(.mpl/.txt)
* Matroska (.mkv) 字幕轨迹
2.6 其他功能
* 后台播放
* 多音轨支持
* 多字幕支持,包括内部或外挂的
* 多平台处理器优化
* 可调长宽比
* 文字编码自动检测
2.7 许可/授权(Lisences)
Vitamio使用了sevral开源项目,感谢他们。
2.7.1 FFmpeg
FFmpeg提供软件解码器和多路输出(demuxers)。Vitamio使用LGPLv2.1许可下FFmpeg的代码,代码可以从这里下载。
2.7.2 Universalchardet (是Mozilla的一个自动检测页面文字编码的程序)
Universalchardet是Mozilla的编码检测库。Vitamio使用MPL许可下Universalchardet的代码来检测字母文本编码。
以上主要是对官方介绍进行了简单翻译。
三、相关文章
移动流媒体移动协议综述.pdf
开发者指南Android支持的媒体格式
Android网络收音机项目
四、文章维护
Vitamio 3.0 新手教程
结束
本系列将是继 C#视频监控系列 之后又一与视频相关的重要系列,值得高兴的是Vitamio是国人开发的,在国外得到了广泛使用,国内也有一些,欢迎大家交流。
以上就是对Android Vitamio简单介绍,需要的朋友可以看下。
您可能感兴趣的文章:
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播
相关文章
- Android触屏事件和MotionEvent详解
- Android AlertDialog(对话框)实例详解
- BeautyCam美颜相机2024免费版 for Android v12.1.40 安卓版
- Android notifyDataSetChanged() 动态更新ListView案例详解
- Android 系统实现多种开机动画和logo切换功能
- Android进阶手写IPC通信框架告别繁琐AIDL
- Android列表选择框Spinner使用方法详解
- android studio2.2怎么下载并安装常用工具包?
- android l怎么样?安卓android l新变化及系统使用评测教程
- Android编程实现任务管理器的方法