要在 Androidx Kotlin 中使用 ViewPager2 和 ExoPlayer 实现上下滑动播放功能,可以按照以下步骤进行操作:

  1. 首先,确保你的项目已经添加了 ViewPager2 和 ExoPlayer 的依赖。在你的项目的 build.gradle 文件中添加以下依赖:
implementation 'androidx.viewpager2:viewpager2:1.0.0'
implementation 'com.google.android.exoplayer:exoplayer:2.14.0'
  1. 在你的布局文件中,添加一个 ViewPager2 控件:
<androidx.viewpager2.widget.ViewPager2
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 创建一个数据类来保存视频信息,例如 Video 类:
data class Video(val title: String, val url: String)
  1. 创建一个继承自 RecyclerView.Adapter 的适配器类,例如 VideoAdapter:
class VideoAdapter(private val videos: List<Video>) :
    RecyclerView.Adapter<VideoAdapter.VideoViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VideoViewHolder {
        val view = LayoutInflater.from(parent.context)
            .inflate(R.layout.item_video, parent, false)
        return VideoViewHolder(view)
    } 

    override fun onBindViewHolder(holder: VideoViewHolder, position: Int) {
        val video = videos[position]
        holder.bind(video)
    }

    override fun getItemCount(): Int {
        return videos.size
    }

    inner class VideoViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        private val playerView: PlayerView = itemView.findViewById(R.id.playerView)
        private lateinit var player: SimpleExoPlayer

        fun bind(video: Video) {
            val mediaItem = MediaItem.fromUri(video.url)
            player = SimpleExoPlayer.Builder(itemView.context).build()
            player.setMediaItem(mediaItem)
            player.prepare()
            playerView.player = player
        }
    }
}
  1. 在你的 Activity 或 Fragment 中,初始化 ViewPager2,并设置适配器:
val viewPager: ViewPager2 = findViewById(R.id.viewPager)
val videos = listOf(
    Video('Video 1', 'https://example.com/video1.mp4'),
    Video('Video 2', 'https://example.com/video2.mp4'),
    Video('Video 3', 'https://example.com/video3.mp4')
)
val adapter = VideoAdapter(videos)
viewPager.adapter = adapter
  1. 现在,你就可以在 ViewPager2 中滑动来播放不同的视频了。

这样,你就可以在 Androidx Kotlin 中使用 ViewPager2 和 ExoPlayer 实现上下滑动播放功能了。记得在适配器中添加必要的逻辑,例如在页面切换时释放之前的播放器等。

Android Kotlin 实现 ViewPager2 + ExoPlayer 上下滑动播放功能

原文地址: https://www.cveoy.top/t/topic/qg8A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录