Android视频框架 Vitamio 打造自己的万能播放器

Flora29A 8年前
   <p>Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。</p>    <p>Vitamio 功能强大,能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。</p>    <h2>1.Vitamio的下载</h2>    <p>官方下载:<br> <a href="/misc/goto?guid=4959674207325324972">https://www.vitamio.org/Download/</a><br> 官方文档:<br> <a href="/misc/goto?guid=4959674207405923087">https://www.vitamio.org/docs/API/</a></p>    <h2>2.Vitamio的VideoView控件</h2>    <p>VideoView用于播放视频文件,可以加载各种来源的图像(如资源或ContentProvider),注意计算视频尺寸,以便在任意布局管理器中使用,它还提供了诸如缩放等显示选项。</p>    <p>VideoView也提供封装了许多MediaPlayer的方法,例如getVideoWidth、setSubShown。</p>    <h2>3.Vitamio的用法</h2>    <p>(1)引入vitamio框架到 Android Studio 或者 Eclipse</p>    <p>(2)在布局中定义VideoView</p>    <pre>  <code class="language-java"><io.vov.vitamio.widget.VideoView       android:id="@+id/vv"      android:layout_width="match_parent"      android:layout_height="match_parent" /></code></pre>    <p>(3)MainActivity中调用</p>    <pre>  <code class="language-java">// 插件vitamio框架检查是否可用  if (!LibsChecker.checkVitamioLibs(this)) {      return;  }  final VideoView vv = (VideoView) findViewById(R.id.vv);  vv.setVideoPath("http://192.168.1.20:8080/movie.mp4"); //设置播放路径  vv.setOnPreparedListener(new OnPreparedListener() {      @Override      public void onPrepared(MediaPlayer mp) {          vv.start();      }  });  // 设置video的控制器  vv.setMediaController(new MediaController(this));</code></pre>    <p>(4)使用Vitamio一定要在清单文件额外初始化InitActivity</p>    <pre>  <code class="language-java"><!-- 初始化InitActivity,固定写法 -->  <activity android:name="io.vov.vitamio.activity.InitActivity"></activity></code></pre>    <p>注意:InitActivity不要和MainActivity混淆。</p>    <h2>4.Vitamio框架的原理</h2>    <p>(1)音视频解码 原理:</p>    <p>基本上都使用了开源项目FFmpeg(C语言开发的),包括windows平台的很多播放器都用到了。<br> FFmpeg源码下载地址:<a href="/misc/goto?guid=4958336869896075684">http://ffmpeg.mplayerhq.hu/</a></p>    <p>(2)Vitamio也是使用了FFmpeg开源项目。</p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959674207513807141" rel="nofollow">http://blog.csdn.net/smartbetter/article/details/51576329</a></p>    <p> </p>