使用Vitamio打造自己的Android万能播放器(1)——准备
前言
虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式、性能等各方面都十分有限,这里与大家一起利用开源项目Vitamio来打造属于自己的Android万能播放器!
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com
正文
一、实现目标
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工作方式相似,但包含更加强大的功能,并且它是完全免费的!
2.1 项目网址
http://vov.io/vitamio/
2.2 成功案例
国内:VPlayer、熊猫影音、321影音等
国外:Tvltaliane、Dizi TV等
2.3网络协议
支持以下协议的音频和视频播放:
* MMS
* RTSP (RTP, SDP)
* HTTP流式传输(progressive streaming)
* HTTP LiveStreaming (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.1FFmpeg
FFmpeg提供软件解码器和多路输出(demuxers)。Vitamio使用LGPLv2.1许可下FFmpeg的代码,代码可以从这里下载。
2.7.2Universalchardet (是Mozilla的一个自动检测页面文字编码的程序)
Universalchardet是Mozilla的编码检测库。Vitamio使用MPL许可下Universalchardet的代码来检测字母文本编码。
以上主要是对官方介绍进行了简单翻译。
三、示例代码
3.1 下载Vitamio的SDK
Vitamio-SDK.7z 含javadoc文档和vitamio.jar。
3.2下载Demo代码
Vitamio-Demo.7z 这是一个使用vitamio.jar的Demo工程。
3.2运行Demo代码
3.2.1 下载上面的Demo包后,补充工程文件.project、.classpath等,后面有重新打包下载。
3.2.2 运行工程,见如下图:
需要安装Vitamio插件来播放视频,这里选择Vitamio Website,下载安装重新运行,发现一抹黑,看看代码,发现没有视频,修改视频路径,并且上传视频到SD卡,这里提供一个测试视频下载这里,再次运行即可。
3.2.3 成功截图
3.2.4 修改后的Demo工程下载
Vitamio-Demo.zip
注意把上面的测试视频解压后拷贝到SD卡的根目录。
四、相关文章
移动流媒体移动协议综述.pdf
开发者指南Android支持的媒体格式
Android网络收音机项目
五、文章维护
2012-7-9新版SDK第一个内测版已发布,点这里。
结束
本系列将是继 C#视频监控系列之后又一与视频相关的重要系列,值得高兴的是Vitamio是国人开发的,在国外得到了广泛使用,国内也有一些,欢迎大家交流。
系列
1、使用Vitamio打造自己的Android万能播放器(1)——准备
2、使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放
3、使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、视频列表)
4、使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
5、使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
6、使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)
7、使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
8、使用Vitamio打造自己的Android万能播放器(8)——细节优化