前言
虽然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工作方式相似,但包含更加强大的功能!(注意: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是国人开发的,在国外得到了广泛使用,国内也有一些,欢迎大家交流。

使用Vitamio打造自己的Android万能播放器(1)——准备相关推荐

  1. 使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放

    前言 本章继续完善播放相关播放器的核心功能,为后续扩展打好基础. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over1 ...

  2. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

    前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  3. [转载]使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)...

    前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  4. 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)

    前言 新版本的VPlayer由设计转入开发阶段,预计开发周期为一个月,这也意味着新版本的Vitamio将随之发布,开发者们可以和本系列文章一样,先开发其他功能.本章内容为"在线视频播放列表& ...

  5. 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  6. 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)...

    前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...

  7. android vitamio 实现快速播放,使用Vitamio打造自己的Android万能播放器(5)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  8. 使用Vitamio打造自己的Android万能播放器—— 手势控制亮度、音量、缩放

    使用Vitamio打造自己的Android万能播放器(1)--准备 一.实现目标 1.1亮度控制 模仿VPlayer界面: 1.2声音控制 模仿VPlayer界面: 1.3画面缩放 根据下面API ...

  9. Vitamio打造自己的Android万能播放器

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

最新文章

  1. 文件同步工具 lsyncd2.1.6 安装使用问题
  2. Struts2入门这一篇就够了
  3. python菜鸟教程字典-python教程菜鸟教程学习路线
  4. 自定义sql_SQL自定义排序,想怎么排就怎么排
  5. tensorflow tf.ConfigProto() (配置tf.Session的运算方式)(allow_soft_placement、inter_op_parallelism_threads等)
  6. fread rb与r,wb,w的区别
  7. 两招让陌生网络访问者现出原形
  8. EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
  9. python赋值语句的一般格式为_Python语言有什么奇技淫巧?
  10. cent os 查看服务器信息
  11. 中国5级省市编码爬去整理(统计用区划和城乡划分代码)
  12. python基础(八):封装、继承、多态
  13. 为什么要来学习算法?写在英雄的5月集训月末
  14. 教师人生格言积极向上的句子
  15. mysql出现2058,连接MySQL报“Error No.2058 Plugin caching_sha2_password could not be loaded”
  16. 增量备份与差异备份的区别(Incremental vs. differential backup: A comparison)
  17. 在线协助设计软件,figma、sketch、xd哪个才是你的优先选择
  18. 多项式拟合 java_最小二乘法多项式拟合的Java实现
  19. 使用python构造大量测试数据_python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)...
  20. 常用超低阻值采样电阻阻值一览表

热门文章

  1. 通过 SSH 端口转发实现异地内网服务器互通
  2. 详细介绍如何在Eclipse中使用SVN
  3. linux命令总结----转载
  4. 《Linux内核分析》实践2
  5. HTML5编程实战之二:用动画的形式切换图片
  6. Microsoft Enterprise Library---解读Configuration之元数据
  7. 构建一个虚拟DOM并转换为真实DOM
  8. sqlyog表添加列_如何用数据透视表求差,而不是求和?
  9. 清华尹成python爬虫百度云_爬虫:利用python完成百度贴吧数据采集
  10. linux sed命令的常用方法