音频播放框架

StarrySky框架

git地址

特色

  • 轻松播放本地和网络音频
  • 集成和调用API非常简单,音频功能几乎可以集成到一个语句中。
  • 提供丰富的API方法来轻松实现各种功能。
  • 方便集成自定义通知栏和系统通知栏。
  • 使用ExoPlayer作为实质播放器。
  • 支持多种普通音频格式并支持多种流式音频格式(DASH,SmoothStreaming,HLS,rtmp,flac)。
  • 支持边播边存功能,没网也能播。
  • 支持改变播放速度。
  • 超级丰富的API。
  • 支持自定义播放组件,高度的扩展性。
源码里的关键类:
PlaybackManager
播放完成会回调这个方法:
onCompletion()
这个方法为ExoPlay状态的回调
onPlaybackStatusChanged()

MediaQueueManager
上一首和下一首会调用这个方法
skipQueuePosition()(有Bug的原因,已被我删除,替换为skipQueueNext、skipQueueLast)


旧框架状态回调不准确,自己修改新增状态回调:
       StarrySky.get().getPlaybackManager().setPlayStatusChanged(state -> {
            
        });

旧框架不准确的原因,自己新增:
//是否存在上一首
StarrySky.get().getPlaybackManager().isExistLast();
//是否存在下一首
StarrySky.get().getPlaybackManager().isExistNext();
//获取当前播放的索引
StarrySky.get().getPlaybackManager().getPlayIndex();
发布了213 篇原创文章 · 获赞 12 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/a1003434346/article/details/103274090
今日推荐