Exoplayer简介及应用.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Exoplayer简介及应用

ExoPlayer介绍及应用 ExoPlayer介绍 ExoPlayer是开源的应用层的media player,构建在Android底层的media APIs之上,它作为MediaPlayer的替代,用于播放本地和网络上的音频和视频。ExoPlayer支持的特性远超过了MediaPlayer,包括支持DASH和 SmoothStreaming adaptive playbacks。 而且和MediaPlayer比较,ExoPlayer更易于定制和扩展,也易于和应用一起更新. 我们年初集成的,用的版本是2.4.0,他们的版本更新很快,现在已经是2.5.2,已经支持RTMP。 优缺点 和MediaPlayer相比,ExoPlayer有很多优点: 1.支持Dynamic Adaptive Streaming over HTTP (DASH) 和 SmoothStreaming 2.支持advanced HLS, 例如对标签#EXT-X-DISCONTINUITY等正确处理 3.无缝循环播放媒体的能力 4.和你的应用一起更新的能力 5.更少的设备依赖和Android版本依赖 6.支持Widevine通用加密(Android 4.4 (API level 19) and higher) 7.定制和扩展能力。ExoPlayer在实现时就以此为指导,允许很多模块可以被用户的实现替换 8.快速集成官方扩展库的能力,比如我们就用到了GoogleVR的3D audio库 缺点 ExoPlayer的基本音视频模块依赖Android的MediaCodec API,发布于Android 4.1 (API level 16),所以4.1以前的版本不支持。DRM Widevine通用加密Android 4.4 (API level 19)之后才支持。 基本组件 MediaSource定义将要播放的媒体,加载媒体,加载位置。 Renderer s 渲染媒体的音频,视频的track TrackSelector选择MediaSource提供的track,传给Renderer渲染 LoadControl控制MediaSource缓存多少数据和缓存时机。 ExoPlayer提供了基本的实现,用户也可以用自己的实现替代它们。 ExoPlayer使用 1.在build.gradle中添加依赖 2.创建ExoPlayer 3.把player和view或者surface绑定 4.启动player 5.结束播放后释放资源 ExoPlayer使用 1.在build.gradle中添加依赖,因为我们的主要应用是作为Unity的插件使用,即把ExoPlayer编成jar包,ExoPlayer不会自动编进插件jar包,所以需要在build.gradle中直接添加ExoPlayer的jar包依赖,同时把这些jar包拷贝到Unity的plugin目录下。 compile exoplayer-core.jar // 核心功能,必需 compile exoplayer-dash.jar // for DASH compile exoplayer-hls.jar // for HLS compile exoplayer-ss.jar //for SmoothStreaming compile exoplayer-ui.jar // UI,进度条播放按钮等,我们没用到 ExoPlayer使用 2.创建ExoPlayer // 1. Create a default TrackSelector Handler mainHandler = new Handler(); BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(); TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter); TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory); // 2. Create the player SimpleExoPlayer mPlayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector); ExoPlayer使用 3.把player和view或者surface绑定 根据我们的应用场景,我们是在Unit

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档