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

60 行 Shell 代码实现在终端下优雅地听歌

  •  1
     
  •   Pyjamas · 2018-04-24 17:17:01 +08:00 · 4164 次点击
    这是一个创建于 2416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原文地址:60 行 Shell 代码实现在终端下优雅地听歌

    这个方案适合像我这种对新歌没什么需求的人,就把想听的歌都下到一个文件夹里,然后离线听歌就行了。

    我的实现是在 macOS 上的 Zsh 脚本,然后调用了下内置的 afplay,Linux 下应该也适用,找个 afplay 的替代品估计也不是啥难事。

    这个方案我用了快一年了,我感觉这个播放器是我写过最有用的东西,因为每天听歌都靠它了 :)

    第 1 条附言  ·  2018-04-24 20:32:17 +08:00

    po个效果图过来好了,anyway我觉得还挺方便的,往.zshrc里写几个函数就行了,感觉也挺适合新手写Shell脚本练习和熟悉Unix信号量用

    一共就几个操作

    • m [keyword] = 根据keyword搜索播放
    • n = next 下一首
    • ms = music stop 其实是操作不是stop,应该叫暂停pause - -
    • mc = music continue 恢复暂停的音乐
    • mm = 结束播放

    12 条回复    2020-02-18 05:34:23 +08:00
    Lycnir
        1
    Lycnir  
       2018-04-24 17:28:10 +08:00
    mpd 你值得拥有
    daigouspy
        2
    daigouspy  
       2018-04-24 17:30:31 +08:00 via Android
    手机点一下就可以听歌了,为什么要学代码?
    Pyjamas
        3
    Pyjamas  
    OP
       2018-04-24 17:44:11 +08:00
    @daigouspy 写代码好玩呗,对我来说就是写代码的时候少了一件让我切出终端的事,比如我在 emacs 里写代码,我直接在 emacs 里就能换歌什么的
    Pyjamas
        4
    Pyjamas  
    OP
       2018-04-24 20:25:33 +08:00
    @Lycnir mpd 看起来好高大上 - -
    supertan
        5
    supertan  
       2018-04-25 07:30:49 +08:00 via iPhone   ❤️ 1
    所以,是无聊还是单身?
    forestyuan
        6
    forestyuan  
       2018-04-25 11:55:52 +08:00
    装逼利器
    NonClockworkChen
        7
    NonClockworkChen  
       2018-04-25 13:56:38 +08:00
    我听音乐,主要是为了看网易云的评论。。。
    Pyjamas
        8
    Pyjamas  
    OP
       2018-04-25 14:51:07 +08:00
    @supertan 不存在的,不单身很多年了,我感觉我的播放器只要这几个功能就够了
    Pyjamas
        9
    Pyjamas  
    OP
       2018-04-25 14:52:22 +08:00
    @NonClockworkChen 我之前也是用的网易云,也喜欢看评论,不过有一天突然就觉得评论没那么重要了
    xuanyuanaosheng
        10
    xuanyuanaosheng  
       2018-04-25 19:48:06 +08:00 via Android
    mark 下看看
    xbtmyz
        11
    xbtmyz  
       2018-04-25 19:50:43 +08:00 via Android
    听歌不看评论,那还听个什么劲(手动滑稽.jpg)
    AmrtaShiva
        12
    AmrtaShiva  
       2020-02-18 05:34:23 +08:00   ❤️ 1
    function n() { pid="$(ps -ef | grep afplay | grep -v grep | head -1 | awk '{print $2}')" kill -INT $pid } 这段函数在 Linux 里可以 kill -9 `pidoff afplay`
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3471 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:21 · PVG 19:21 · LAX 03:21 · JFK 06:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.