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

BBBUG 音乐聊天室的开发故事和架构设计

  •  5
     
  •   Hamm · 2021-05-13 10:31:28 +08:00 · 2375 次点击
    这是一个创建于 1051 天前的主题,其中的信息可能已经有所发展或是发生改变。

    办公室有个小伙伴喜欢拿音响放歌,然而总放一些动次打次的广场舞 DJ 曲目,同事听了都头大,每次让人家切歌又不方便

    于是某同事吐槽:“我们点啥你放啥?”

    一天之后……

    “张三你刚说放啥来着?”

    “卧槽,我说的是刘德华的 17 岁,你这放的是谁的版本?”

    “17 岁 QQ 音乐要会员,放不了。” ……

    我实在看不下去了,要不写一个点歌平台?

    说干就干,第一版俩小时搞定:

    一个点歌端,爬虫爬各大平台,包括一些 VIP 歌曲也给爬下来,只能搜索,点歌。

    一个导播端,可以看大伙点了什么歌,导播端可以插队播放,删除。

    好,上线。

    两天后……

    老板:“卧槽你们当办公室 KTV 呢?开音响听歌???”

    好吧,所有人默默带上了耳机,但点歌端不能播放音乐,只能点歌,这一版宣告凉凉。

    ……

    那就升级吧:

    这一版,不区分点歌端和导播端,所有端都一样,做一个共享队列,大伙点,大伙自己带耳机听。

    image.png

    一天后……

    “你能不能让大家听到的歌进度保持一致?我还在听上一首,他们先进去的都已经自动播下一首了……”

    OK,继续升级,加歌曲同步。

    image.png

    好家伙这一次,跟 KTV 没啥区别了。

    这一版有点意思,还加上了“送啤酒”这个小互动,是不是更像 KTV 了?

    好吧我承认,这种小互动貌似没什么用,于是后来的版本掐掉了。

    然而好景不长:

    “大厅这群人有毒吧?跟五条人杠上了?”

    “我实在是不敢恭维在座各位的歌单”

    “这都点的什么玩意歌啊……”

    “Mojito 我实在是听得要吐了……”

    好吧,那就安排,自己开房间听歌。

    于是有了多房间的版本,每个人都可以创建自己的房间,听自己的歌。

    顺便加上一个二级域名和独立域名的绑定功能,于是有了下面的设计图:

    image.png

    这就很棒了,大伙都可以在大厅一起听,也可以去自己房间里点歌听。

    好好好景不长,需求又来了~

    “自己的房间,能不能不点歌,自动播放自己点过的歌?”

    安安安排!

    那就来一个电台模式吧,设置了就自动播放自己的歌,有人点歌的话让他排队吧。

    这下可以了吧?

    安安稳稳听歌一周后……

    “好无聊啊,光听歌,能让我听听相声小品吗?”

    安安安安安排!

    爬谁呢,就蜻蜓 FM 吧。

    上线了小说故事模式……

    好好好好好景还是不长

    “这个 UI 好丑啊,能换换吗?”

    我也这么觉得,那就改吧,于是改成了这样

    image.png

    “白色是不是太晃了,出个暗黑模式呗?”

    “我 TM……”

    安安安安安安安排!

    image.png

    感觉还挺棒,

    本以为故事到这里就基本结束了,然而,嗯。

    “网页好烦人啊,能出个 Windows 客户端吗?”

    安安安安安 P,等下,C#我快忘干净了。

    花俩小时回忆了下 C#,又花俩小时学习了下

    WTF……

    安安安安安安安排!

    于是有了这个 Windows 客户端

    image.png

    好家伙,写完了,发布了,实际统计了下使用数据,使用人数不超过 3,WTF ????

    “你这大部分是程序员在用,要不出个 vscode 的插件呗。”

    我……

    image.png

    故事快结束了吗?

    天真。

    “出个 APP 吧!”

    我……

    好,安排,就拿 Uniapp 整一套吧。

    image.png

    体验还挺不错,不过因为音乐版权问题,这里就没上架 AppStore 。

    “App 下载好麻烦,整一套小程序吧?”

    安安安安安安安安安安安安排!

    整!

    image.png

    故事到这里就基本结束了,心累。

    一口气把所有端的代码都开源了,欢迎有兴趣的小伙子给点点小星星呀。

    Github https://github.com/HammCn

    Gitee https://gitee.com/bbbug_com

    顺便附上整体的架构设计图

    image.png

    体验一下 www.bbbug.com

    28 条回复    2021-05-21 08:49:45 +08:00
    silencelixing
        1
    silencelixing  
       2021-05-13 10:32:57 +08:00
    来了
    Hamm
        2
    Hamm  
    OP
       2021-05-13 10:34:58 +08:00
    learningman
        3
    learningman  
       2021-05-13 10:37:08 +08:00 via Android
    隔壁 100 万警告
    Hamm
        4
    Hamm  
    OP
       2021-05-13 10:38:49 +08:00
    @learningman:)不要怂
    HappyOneP
        5
    HappyOneP  
       2021-05-13 10:39:05 +08:00
    牛逼 666
    pakro888
        6
    pakro888  
       2021-05-13 10:41:24 +08:00 via Android
    厉害
    mingsz
        7
    mingsz  
       2021-05-13 10:41:49 +08:00
    牛👍🏼
    Hamm
        8
    Hamm  
    OP
       2021-05-13 10:43:46 +08:00
    @mingsz
    @pakro888
    @HappyOneP

    感谢大哥们的支持
    hjj925189690
        9
    hjj925189690  
       2021-05-13 11:14:04 +08:00
    大佬可以安排一下 google 浏览器插件吗
    myderr
        10
    myderr  
       2021-05-13 11:15:19 +08:00
    厉害了大佬,考虑谷歌浏览器插件不,然后能当前页面加载歌词那种
    Webpoplayer
        11
    Webpoplayer  
       2021-05-13 13:42:40 +08:00
    前段时间刚在 v 站看到彦祖的发帖,觉得挺好玩
    这几天断断续续的都有在用,挺好
    然后哈哈哈,刚看完隔壁跟 yk 的故事。。
    果然就看到有人评论了,哈哈哈哈
    Hamm
        12
    Hamm  
    OP
       2021-05-13 14:00:33 +08:00
    Hamm
        13
    Hamm  
    OP
       2021-05-13 14:00:50 +08:00
    @Webpoplayer 原帖来一个呀
    idoas
        14
    idoas  
       2021-05-13 14:41:03 +08:00
    缺个 Mac 版本,哈哈哈
    coderJie
        15
    coderJie  
       2021-05-13 14:45:22 +08:00
    @idoas +1,程序员都用 mac,来个 mac 版吧🐶
    Webpoplayer
        16
    Webpoplayer  
       2021-05-13 16:00:41 +08:00
    Webpoplayer
        17
    Webpoplayer  
       2021-05-13 16:02:43 +08:00
    caryqy
        18
    caryqy  
       2021-05-13 16:19:32 +08:00
    创意不错
    turi
        19
    turi  
       2021-05-13 23:19:25 +08:00
    这东西不错
    musi
        20
    musi  
       2021-05-14 06:03:52 +08:00 via iPhone
    这玩意儿自己用用就算了,
    分享出来要么音乐公司要么不管,要么下架接口,要么给你发律师函。
    没准 v2 上还有内部的人
    bsulike
        21
    bsulike  
       2021-05-14 09:33:33 +08:00
    好家伙,这么猛
    korozas
        22
    korozas  
       2021-05-14 11:05:25 +08:00
    这就是大佬吗?这么猛
    Hamm
        23
    Hamm  
    OP
       2021-05-15 23:21:04 +08:00 via iPhone
    @musi 问题不大,找个合适的机会,掐掉第三方音源,已经支持了自定义 mp3 歌曲上传
    ZnBDPang
        24
    ZnBDPang  
       2021-05-15 23:40:31 +08:00
    大佬的项目已 star,很强
    xrr2016
        25
    xrr2016  
       2021-05-17 16:03:45 +08:00
    keller
        26
    keller  
       2021-05-19 15:16:02 +08:00
    可以了解一下 discord 语言频道的音乐机器人,可以通过指令控制歌单、点歌、切歌等等操作。
    qwertyzzz
        27
    qwertyzzz  
       2021-05-19 16:09:50 +08:00
    这都是什么牛人啊
    RLinux
        28
    RLinux  
       2021-05-21 08:49:45 +08:00
    太棒了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2761 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 11:59 · PVG 19:59 · LAX 04:59 · JFK 07:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.