首页 > 编程知识 正文

android源码分析,app源码 官府菜.cn

时间:2023-05-06 08:39:33 阅读:48163 作者:461

由于工作中用于Exoplayer播放dash流,适合EMBMS服务存在问题,因此分析了Exoplayer源代码。 在本文中,关于dash播放情况的分析,其他视频源类似,但谷歌进行统一封装,是客户调用时露出的简单界面,所以使用起来很简单,但播放出现问题时需要自行分析并修改源代码有关其源代码和使用方法,请转至https://github.com/Google/ex oplayer。

Exoplayer非常方便,易于使用。 想调用的时候,可以用下面的代码这样简单的步骤来调用。

Uri url=getIntent.getData (; playercontrolview=(playerview ) findviewbyid ) r.id.player_control_view ); dfaultbandwidthmeterbandwidthmeter=newdefaultbandwidthmeter (; 跟踪选择. factoryvideotrackselectionfactory=newadaptivetrackselection.factory (bandwidth meter ); trackselectortrackselector=newdefaulttrackselector (videotrackselectionfactory; player=exoplayerfactory.newsimpleinstance (this,跟踪选择器); //创建加载数据的工厂data source.factorydatasourcefactory=newdefaulthttpdatasourcefactory (util.getuser agent (this, ' exoplayertiming dashchunksource.factorydashchunksourcefactory=newdefaultdashchunksource.factory (newdefaulthttpdatasoury urce=newdashmediasource.factory (dashchunksourcefactory,数据源factory ).createmediasource (URL playercontrolview playerControlView.requestFocus (; player.prepare (视频源; player.setplaywhenready(true; 您可以设置播放器的输入数据,并发现只需绑定view即可直接播放,非常有用。 但是,其内部如何工作需要深入分析源代码。 首先,需要关注如何预处理数据。 下一个上一个时序图:

我们实例化exoplayer播放器时,通过exoplayerfactory.newsimpleinstance进行生产。 此时,事先设定,省略了复杂的配置流程。 这个工厂回来的是returnnewsimpleeexoplayer (

所以prepare也是由SimpleExoPlayer完成的。 但是,SimpleExoPlayer还通过ExoPlayerImpl实现了具体功能,实现该功能的过程非常复杂,为了简化代码,将具体实现委托给ExoPlayerImplInternal,之后很多

有关准备数据的信息,请转至下一步。

我们发现prepare的整个过程需要很多其他类来帮助完成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。