layout: post title: “2024-02-06-media分析.markdown” date: 2024-02-06 12:11:30 +0800

1) MediaPlayerService

  • 创建: 应用启动时,通过bindService的方法启动service,并单例持有

2) 播放音乐入口

  • 左下角playBar
  • 首页等快捷播放入口
  • 点击单个歌曲

3) 常用方法

  • 开始播放 MediaPlayerService.playMedia(mediaInfo);
    • groupId/mediaType/MusicInfoBean
  • 进入播放页 MusicPlayActivity.startMusicPlayActivity(mContext);

4) 播放流程

  • play(MediaInfo)
  • playUrl(playUrl) HttpProxyCacheServer.setMediaInfo
  • beginPlayUrl(proxyUrl)
  • MediaPlayer.setDataSource
  • MediaPlayer.prepareAsync()
  • 在prepare回调中start() 5) 初始时创建的成员变量
  • MediaPlayerService.Holder
  • MediaPlayer

  • 重新获取列表信息 requestMediaDataListData