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

本文介绍了如何使用开源项目Vitamio创建一个支持多种视频音频格式、具备播放控制、扫描SD卡、网络播放等功能的Android万能播放器。详细解释了Vitamio的功能特性,提供了SDK及Demo代码下载,并指导如何运行示例。
前言
  虽然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影音

      国外:TvltalianeDizi 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的代码来检测字母文本编码。

    以上主要是对官方介绍进行了简单翻译。 

 

  三、示例代码

    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是国人开发的,在国外得到了广泛使用,国内也有一些,欢迎大家交流。

 


Vitamio =============== Vitamio is an open multimedia framework for Android and iOS, with full and real hardware accelerated decoder and renderer. New features ------------ Only few important features are listed here, we have fix many bugs and may introduce some new bugs. 1. The latest FFmpeg 2.0 git version, which should fix most playback issues, or bring some issues. 2. Support most FFmpeg AVOptions, which enables custom HTTP headers support. 3. Support more hardwares, e.g. X86 or MIPS. 4. Improve streaming, especially support adaptive bitrate streaming, you need open manually. 5. OpenSSL included, so some SSL related protocols, such as https, tls, rtmps, rtmpts, are supported. 6. Playback speed control from 0.5x to 2.0x. 7. Audio amplify to 2x volume. 8. Improved subtitle support, including external bitmap subtitles. 9. Cache online video to local storage and can be reused until you delete the cache file. 10. More MediaPlayer API, e.g. `getMetadata`, `getVideoTrack`. 11. The full Java code is open to all developers, modify and contribute is welcome. 12. Support RGBA\_8888 rendering, spport switching RGB\_565 or RGBA\_8888 to video rendering. 13. Enhance the hardware decoding in Android 16+. 14. Support ARMV6 CPU, may have some bugs. How to use ---------- please see [the website](https://github.com/yixia/VitamioBundle/wiki) License ------- Please see [License](http://www.vitamio.org/en/License) ## Google+ Vitamio Developers Community on Google+ [http://goo.gl/fhCDTD](http://goo.gl/fhCDTD)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值