使用Vitamio打造自己的Android万能播放器
转自:http://www.cnblogs.com/over140/archive/2012/04/26/2471060.html
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式、性能等各方面都十分有限,这里与大家一起利用开源项目Vitamio来打造属于自己的Android万能播放器!注意
请下载新发布的SDK(2012-7-9):
使用Vitamio打造自己的Android万能播放器——新版Vitamio内测SDK发布
声明 欢迎转载,但请保留文章原始出处:) 博客园: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://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 * 3gp2.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的代码来检测字母文本编码。
以上主要是对官方介绍进行了简单翻译。
三、示例代码
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第一个内测版已发布,点这里。
更多相关文章
- Android中VideoView播放当前工程中视频文件的方法
- Android 中颜色对应的代码集合
- 手把手教你:android调用系统相机、相册功能,适配6.0权限获取以及7.
- 《Android 编程权威指南》(Android Programming The Big Nerd Ran
- 美团,大众点评,悬浮窗功能代码
- Android中FTP上传、下载的功能实现(含进度)
- Android 第一行代码
- Android视频录制小例子