单元四 MV 视频播放

本单元在音频播放功能的基础上增加独立的 MV 视频页面。歌曲列表负责传递 MV 信息,VideoActivity 使用 Media3 ExoPlayer 完成视频播放、进度控制和生命周期处理。

一、学习目标

素质目标

序号目标内容
1形成从页面跳转、播放器状态到资源释放逐步验证功能的开发习惯。
2建立对 MV 地址、播放器准备状态和用户拖动操作进行有效性判断的意识。
3形成在页面离开和销毁时及时暂停播放、取消任务和释放资源的规范。

能力目标

序号目标内容
1能够使用 Intent 在歌曲列表和 VideoActivity 之间传递 MV 地址、歌曲名称和歌手信息。
2能够使用 Media3 ExoPlayer 和 PlayerView 加载、播放并结束在线 MV。
3能够实现播放暂停、时间显示、进度同步和 SeekBar 拖动跳转。
4能够在 VideoActivity 的生命周期回调中暂停视频、取消进度任务并释放 ExoPlayer。

二、本单元工作内容

本单元完成以下工作:

  • 创建 VideoActivity,注册页面并从歌曲列表的 MV 图标进入视频页面。
  • 使用 Intent 传递 MV 地址和歌曲信息,对没有 MV 地址的歌曲给出提示。
  • 配置 Media3 依赖,使用 PlayerView 承载视频并创建 ExoPlayer 播放在线 MV。
  • 增加播放暂停、时间文本、进度条和拖动控制,处理用户操作与自动刷新之间的关系。
  • 在页面停止和销毁时暂停视频、取消协程任务并释放播放器资源。