Google Exoplayer 之全面认识( 四 )


过程中,应用程序可以监听由生成的指示全部状态的事件 。可以根据这些事件来更新用户界面 。许多组件还报告它们自己特定的 low-level 的事件,可以用于性能监控 。
High level
使用和添加和移除 . 实例 。被注册的侦听器可以发布的状态变化,以及出错时发布错误产生的原因 。
开发者自定义应该注册一个监听器,并根据的状态变化来更新控件 。如果播放失败,应用程序还应该向用户显示相应的错误 。
使用时,可以在上设置额外的监听器 。特别是允许应用程序接收与视频渲染有关的事件,该事件可以是用于调整用户界面 。r 和r 可以接收调试信息 。
Low level
除了 high-level 监听器,许多由库提供的组件,允许拥有自己的事件侦听器 。通常需要传递一个给部件,用来确定监听器方法被调用线程 。在大多数情况下,应与应用程序的主线程关联 。
to
有些组件允许在播放过程中更改配置 。按照惯例,您通过使用或方法传递变化消息给 组件 。这种方式可以确保两个线程安全并且使得配置更改和在上的他操作执行有序 。
相比内置的 ,的主要好处是支持定制和扩展的以更好地满足开发者的实际用例 。在考虑到这一点而设计 库时,定义了大量接口和抽象基类帮助开发者轻松的替换类库提供的默认实现,下面展示了一些用于构建自定义组件的用例:
Demo 中演示了如何在初始化的时候被创建和注入 。