Google官方ExoPlayer视频播放框架学习(一)

本文介绍了Google的ExoPlayer视频播放框架,对比了其他播放器并强调了ExoPlayer的维护和优势。教程详细讲解了如何创建播放器、处理生命周期、创建MediaSource以及播放列表。此外,还提供了Android Studio项目导入和配置ExoPlayer的步骤,以及运行测试后的效果。
摘要由CSDN通过智能技术生成
一、简介

​ ExoPlayer是一款基于Android底层媒体api的应用级媒体播放器 ,现在主流的视频播放器使用的第三方视频框架有Vitamio、B站开源的ijkPlayer、再就是ExoPlayer等,以前用过Vitamio视频框架,网上资料很多,这里就不过多介绍了,主要介绍ExoPlayer。

​ ExoPlayer是否需要学习,这是个问题,因为我们已经有Vitamio用了呀,我到GitHub上看了,vitamio和ijkPlayer都已经几年没有更新了,存在很多没有关闭的bug,而ExoPlayer还是在维护的,另外其已经应用了AndroidX的新特性,随着技术的发展与提高,我认为有必要了解一下,即使国内论坛资料做的一般,大家都是复制别人的博客或者自己没做明白。

于是我就翻译了一遍官方网站(注意有墙)的例子。

​ YouTube可是用的这个视频框架哦,有大厂背书,我们还怕什么呢?

优点介绍:

  • 它支持许多与MediaPlayer相同的媒体格式,并支持自适应格式,如DASH和SmoothStreaming。
  • 外部播放器是高度可定制和可扩展的,这使得它能够支持许多高级用例。

​ 言归正传,开始学习!


如何构建:

  • Create a Player 我们将创建一个 SimpleExoPlayer 用来播放音视频资源。
  • Activity lifecycle 我们将整合外部播放器与app的活动生命周期,支持单窗口或多窗口环境下的背景、前景和回放恢复。
  • Playlists 我们将使用 MediaSource 创建一个播放列表。
  • Adaptive video streaming 我们将播放使媒体质量适应可用带宽的自适应视频流。
  • Monitoring events 我们将注册事件监听器来监视回放状态,并展示如何使用监听器来测量回放的质量。
  • UI components 我们将使用标准的外部播放器UI组件,然后根据我们自己的应用程序风格定制它们。

环境需求:

  • Android Studio(>=3.5)
  • Android 4.1版本以上

二、Create a Player
1.导入工程

Android Studio导入初始化好的工程,exoplayer-codelab-00点击下载!

在这里插入图片描述

导入了工程后,打开工程可以发现有两个module,一个是app,另一个是player-lib。app目录几乎是空的,只有一个AndroidManifest.xml文件,在 app/build.gradle 中添加以下内容

dependencies {
   
   implementation project(":player-lib")
}
2.添加ExoPlayer依赖

添加依赖可以是全量包,也可以是根据自己需要的功能来添加,如下:

com.google.android.exoplayer:exoplayer:rX.X.X

因为这个简单的Demo功能简单,我们选择单独导入依赖。

dependencies {
   
   [...]
   
implementation 'com.google.android.exoplayer:exoplayer-core:2.10.5'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.10.5'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.10.5'

}

具体依赖信息访问官方文档

3.创建PlayerView

activity_player.xml

<com.google.android.exoplayer2.ui.PlayerView
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值