MCPcopy Index your code
hub / github.com/despcy/Bilibili-MusicPlayer

github.com/despcy/Bilibili-MusicPlayer @2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.0 ↗ · + Follow
1,737 symbols 2,799 edges 147 files 12 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Platform Current Release License Star

get it on googlePlaytore

BiliMusic

logo

BiliMusic是一款安卓音乐播放器,将B站音乐区Up主投稿的翻唱,原创等视频作为音频在安卓客户端播放。还在不断完善之中,采用MVVM+LiveData+Retrofit+Exoplayer 实现。

相关Api分析自bilibili.com Web前端请求,Api文档

相关WebView请求过滤拦截实现

Preview

logo

Feature

  • 用户登录
  • 同步用户收藏夹(包括私有收藏夹)
  • 自动生成按照Up主分类的播放列表
  • 添加/删除收藏夹内歌曲
  • 添加/删除收藏夹
  • 批量添加当前播放列表歌曲到用户收藏夹
  • 按热度排序浏览B站音乐区投稿
  • 搜索Up主、av号
  • 显示当前播放歌曲信息
  • 在Bilibili App中播放当前音频的原视频
  • 后台播放、锁屏控制

ScreenShots

logo logo logo
logo logo logo

Download

Release-V1.0-Alpha 2019-04-18

Libraries

Retrofit

Gson

ViewModel

LiveData

Glide

CircleImageView

Room

Exoplayer

DataBindingLibrary

PagingLibrary

SpinnerLoading

TODO:(咕咕咕)

  • [ ] 增加对于繁體中文、English(Including ReadmeFile)、日本語的语言支持

  • [ ] 增加封面图片保存功能

  • [ ] 解决个别Flv音源返回格式无法拖动进度条的问题

  • [ ] 美化UI

  • [ ] 增加本地收藏夹功能

  • [ ] 增加离线播放以及下载功能

  • [ ] 增加分P播放功能

...

声明:

本app通过模拟浏览器行为进行数据获取,会保存用户cookie用于api请求,相关数据将不会传送给任何第三方。

音乐版权归Bilibili所有。如果已经涉及到版权,请速与作者联系,作者将第一时间进行处理。

此开源项目仅做学习交流使用, 不可用于任何商业以及非法用途. 喜欢的话欢迎点赞(star)关注(follow)收藏(fork)三连。

License:

Copyright(c) 2019 Chenxi Yang

MIT License

Extension points exported contracts — how you extend this code

RequestNotifier (Interface)
(no doc) [4 implementers]
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/interceptwebclient/InterceptWebClient.java
RequestNotifier (Interface)
(no doc) [4 implementers]
Core/WebView/app/src/main/java/net/chenxiy/biliwebview/interceptwebclient/InterceptWebClient.java
FolderSelectionCallback (Interface)
(no doc) [3 implementers]
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/DataUtils.java
InterceptRule (Interface)
(no doc) [3 implementers]
Core/WebView/app/src/main/java/net/chenxiy/biliwebview/interceptwebclient/InterceptRule.java
InterceptRule (Interface)
(no doc) [3 implementers]
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/interceptwebclient/InterceptRule.java
ApiEndpointInterface (Interface)
(no doc)
Core/WebView/app/src/main/java/net/chenxiy/biliapi/ApiEndpointInterface.java
onReceiveAvData (Interface)
(no doc) [2 implementers]
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/Repository.java
PlayBackInfoListener (Interface)
(no doc) [2 implementers]
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/player/PlayBackInfoListener.java

Core symbols most depended-on inside this repo

getController
called by 24
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/mediaclient/MediaBrowserHelper.java
getInstance
called by 23
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/Repository.java
getAid
called by 17
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/av/Stat.java
getMediaId
called by 15
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/favfolder/FolderArchive.java
getDescription
called by 14
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/dynamic/HotSong.java
create
called by 13
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/datasource/HotSongDataSourceFactory.java
getCookie
called by 12
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/DataUtils.java
getCode
called by 11
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/av/AvInfoResponse.java

Shape

Method 1,565
Class 159
Interface 12
Function 1

Languages

Java100%
C++1%

Modules by API surface

AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/favfolder/content/FavSong.java49 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/service/MediaService.java47 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/dynamic/HotSong.java47 symbols
Core/WebView/app/src/main/java/net/chenxiy/biliapi/pojo/favfolder/content/FavSong.java45 symbols
Core/WebView/app/src/main/java/net/chenxiy/biliapi/pojo/av/AvData.java45 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/av/AvData.java45 symbols
Core/WebView/app/src/main/java/net/chenxiy/biliapi/pojo/userinfo/UserData.java37 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/userinfo/UserData.java37 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/dynamic/DynamicResponse.java35 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/player/ExoPlayerAdapter.java30 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/av/download/Data.java29 symbols
AndroidApp/app/src/main/java/net/chenxiy/bilimusic/network/biliapi/pojo/av/download/Audio.java29 symbols

For agents

$ claude mcp add Bilibili-MusicPlayer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact