Media3 ExoPlayer使用(一)——播放视频(网络,本地存储,assets)以及环境权限设置,监听到异常重新播放

发布于:2025-08-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

Android Studio 版本号:2024.1.2;
注意:此文章中 Android 系统版本:10

Media3 是 Android 媒体支持库的新家,里面包括了 ExoPlayer

一、环境配置

1、启用 Java 8 支持

 Media3 ExoPlayer需要一些属于 Java 8 的方法,因此我们需要相应地设置编译选项。

新建的项目都会自动配置好,在 android 代码块的末尾,紧跟在 buildTypes 之后,有以下配置:

2、启用 ViewBinding

使用 ViewBinding,因此请使用以下代码(在 android{} 代码块末尾)启用它:

buildFeatures {
   viewBinding = true
}
3、引入依赖项

在应用模块的 build.gradle 文件中添加所需库的 Gradle 依赖项

  val mediaVersion = "1.3.0"
    //所有模块必须是同一版本
    implementation("androidx.media3:media3-exoplayer:${mediaVersion}")
//    需依赖支持 DASH 播放和界面组件的 ExoPlayer
    implementation("androidx.media3:media3-exoplayer-dash:${mediaVersion}")
//    基于 View 的界面模块
    implementation("androidx.media3:media3-ui:${mediaVersion}")

 其中主要的依赖项是media3-exoplayer,而media3-ui库为媒体播放提供了一系列预构建的UI组件,其中PlayerView中包含了PlayerControlView和渲染视频的Surface。

最后点击 Sync Now,我们就可以在应用中使用 ExoPlayer了。

二、创建界面布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <androidx.media3.ui.PlayerView
      android:id="@+id/video_player_view"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app

网站公告

今日签到

点亮在社区的每一天
去签到