首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rhythmbox -获取当前轨迹路径

Rhythmbox -获取当前轨迹路径
EN

Stack Overflow用户
提问于 2020-10-26 16:36:27
回答 2查看 57关注 0票数 1

有没有办法通过编程获得rhythmbox (甚至linux上的任何音乐播放器)中当前播放的曲目的完整路径?它可以是linux命令,也可以是python。

我需要它来排序我的新音乐专辑的快捷方式(即,删除或存档当前播放的文件,直到新的音乐文件夹是空的)。我是用amarok做的,但在新版本中,我的插件不再工作,而且还没有文档。

EN

回答 2

Stack Overflow用户

发布于 2021-06-01 20:31:53

安装mp3info并使用以下脚本:

代码语言:javascript
运行
复制
#!/bin/sh

apps="vlc totem rhythmbox banshee mplayer gnome-mplayer"

for app in $apps
do
  pat="([^\w-]$app)"
  if ps ux | grep -P $pat | grep -vq grep; then
    echo
    echo "$app detected"
    echo -------------------------
    file=`lsof -F n -c "$app" | grep -i "^.*\.mp3$" | sed 's/^n//g'`
    if [ ! -z "$file" ]; then
      echo -n "Now playing: "
      if mp3info "$file" 2>&1 | grep -q "does not have an ID3"; then
        echo $file
        echo MP3 info missing \(ID3v2 not supported\)    
      else
        echo
        mp3info "$file"
      fi
    else
      echo Playing no MP3 files
    fi
  fi
done

致谢给法佛尔(https://ubuntuforums.org/showthread.php?t=1562395&s=4ea6cfb6ce5e37681f20a82af578825f&p=9785684#post9785684)。

票数 1
EN

Stack Overflow用户

发布于 2021-01-02 01:30:31

这可以通过mplayer来完成:

代码语言:javascript
运行
复制
path=`lsof -c mplayer | grep -E '\.m4a|\.mp3|\.flac|\.mp4|\.wav|\.wma|\.aac' | sed "s+.*\(/home/$USER.*\)+\1+g"`

详细信息:

  • lsof -c mplayer:列出mplayer;
  • grep -E '\.m4a|\.mp3|\.flac|\.mp4|\.wav|\.wma|\.aac':当前使用的所有文件,只保留包含音频文件的行(可能有一种更优雅的方法来删除行前缀(如果您的音乐文件不在/home/$USER).

中,则进行调整

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64533762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档