无法向在后台运行的任何播放器发出播放/暂停命令

时间:2015-09-25 21:27:44

标签: python linux audio-player

我正在尝试在python for linux中创建一个小部件,它可以播放/暂停当前歌曲,调整音量,切换歌曲等。

到目前为止,我可以使用pulseaudio的 media.role 属性获取在后台运行的音乐播放器的进程名称。但我无法为每个玩家提供shell命令,因为每个玩家的选项都不同。

import subprocess as sp

output = sp.check_output("pacmd list-sink-inputs", shell=True)

index = 0
while index>=0 and index<len(output):
    first = output.find("role = \"music",index+1)
    index = first
    if index<=0:
        break
    index = output.rfind("properties",0,index)
    test = output.find("application.name",index)
    index = output.find("process.id",index)
    index = output.find("\"",index)
    index = index+1
    index2 = output.find("\"",index)
    num = output[index:index2]
    print "pid="+num
    proc = sp.check_output("cat \"/proc/"+num+"/comm\"", shell=True)
    proc = proc[:-1]
    print proc
    index = output.find("media.name",index2)

输出:

pid=9895
gmusicbrowser

也许我从错误的方向接近它,但目标是让它与任何玩家一起运行。

有解决方法吗?

0 个答案:

没有答案