一、前言
ExoPlayer是google开源的应用级媒体播放器项目,目前已有1W+的start,并一直在维护。该开源项目包含ExoPlayer库和演示
demo,github地址:https://github.com/google/ExoPlayer。
二、优缺点比较
与Android内置的MediaPlayer相比,ExoPlayer具有许多优点:
*支持通过HTTP(DASH)和SmoothStreaming进行动态自适应流,这两种都不受MediaPlayer的支持。还支持许多其他格式
*能够自定义和扩展播放器,以适应各种不同需求。 ExoPlayer专门设计了这一点,大部分组件都可以自己替换
*官网说了很多,其实说到底最主要的就是各个组件可以自定义,还可以接入ffmpeg组件,基本能满足99.9%的需求
与IJKPlayer和Vitamio相比,ExoPlayer具有的优点:
*导入项目之后APK体积增加小
缺点:
*最低支持版本4.4
*实现比较复杂
三、概述
ExoPlayer库的核心是Exoplayer接口,Exoplayer公开了传统的高级媒体播放器功能,例如缓冲媒体、播放、
暂停和seek等功能,ExoPlayer通过组件实现替他高级功能。ExoPlayer公同的组件有:
*MediaSource:定义多媒体数据源,从Uri中读取数据,传入ExoPlayer。
*TrackSelector:轨道提取器,从MediaSource中提取各个轨道的二进制数据,交