V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imba97
V2EX  ›  分享创造

[开源] 基于 Navidrome 的音乐同步展示到个人网站

  •  1
     
  •   imba97 ·
    imba97 · 26 天前 · 1473 次点击

    效果展示


    图片加载中效果


    以及会在文章中展示


    在本地搭建的 Navidrome ,通过内网穿透让外网访问,个人简介网站调用接口同步上去

    具体效果可以跳转 imba97.me 查看(只有正在听歌才会显示!)

    除了上面简介页面展示,还一个单独的页面 https://imba97.me/playing


    来龙去脉

    之前写了个展示当前正在播放的音乐的程序,大概长这样

    原理图是这样

    last.fm 要梯子,访问速度慢、不太稳定

    最大问题是封面不全,为了获取封面会额外去 itunes 搜索一下,如果都没有只能展示它默认的一个灰色五角星,如果访问者网络没梯子,直接不显示。很繁琐很难受

    优化

    之后优化了一下,直接对接 Navidrome ,没有中间商赚差价并且封面是自己设置的,100% 可以拿到

    因为之前用 Nuxt 写了个个人简介,里面放一些关于我的页面,放上我正在听的音乐,也挺合适。而且 Nuxt 写后端很爽,像实现缓存只需要改几个地方就好了

    开源

    个人网站:https://github.com/imba97/me

    如果有需要后面有空可以单独写个简单的 npm 库,传请求需要的参数,返回以下内容

    • 是否播放中
    • 音乐名
    • 演唱者
    • 封面

    客户端推荐

    虽然没什么关系,但是推荐一下。Navidrome 有不少客户端,这边推荐两个


    Windows: Feishin


    Android: Tempo

    2 条回复    2024-11-28 12:07:03 +08:00
    Pastech
        1
    Pastech  
       25 天前
    看到楼主的推荐后去试了一下 Tempo ,结果在 Android 14 的 Hyper OS 上闪退
    话说还有啥好用的 Navidrome 安卓客户端吗(音流已经在用了,整体还不错,但是锁屏后播放体验一般)
    imba97
        2
    imba97  
    OP
       24 天前
    @Pastech 可以看一下官网这边推荐的,你可以试试。我之前试了一些,有些我安装不了,只有 Tempo 能安装而且界面还不错

    截图: https://pic.imgdb.cn/item/6747ebfed0e0a243d4d85f52.png

    官网: https://www.navidrome.org/docs/overview/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1540 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.