2015-05-29 28 views
-1

我使用TKinter和python在我的覆盆子pi上創建了一個使用gui的鬧鐘。當鬧鈴響起時,我想讓它開始彈鋼琴。我可以很輕鬆地做到這一點,但我也想在GUI上顯示歌曲的名稱,但我無法弄清楚如何獲取當前正在播放的歌曲。我嘗試過使用管道「|」,並使用「>」重定向,但我無處可去。任何建議都會有幫助。如何從pianobar使用python檢索當前歌曲名稱和時間?

回答

0

您需要使用事件命令接口。從手冊頁:

示例腳本可以在pianobar的源代碼發行版的contrib /目錄中找到。

〜/的.config /鋼琴吧:

user = <username> 
password = <password> (although I'd suggest password_command) 
event_command = ~/.config/pianobar/event_command.py 

〜/配置/ event_command.py

#!/usr/bin/env python 

import os 
import sys 
from os.path import expanduser, join 

path = os.environ.get('XDG_CONFIG_HOME') 
if not path: 
    path = expanduser("~/.config") 
else: 
    path = expanduser(path) 
fn = join(path, 'pianobar', 'nowplaying') 

info = sys.stdin.readlines() 
cmd = sys.argv[1] 

if cmd == 'songstart': 
    with open(fn, 'w') as f: 
     f.write("".join(info)) 

這將譜寫了一曲信息到〜/的.config /鋼琴吧/ nowplaying時一首新歌開始播放(手冊頁中還有其他可用的事件)。然後,您可以使用您選擇的工具來分析,以獲取歌曲標題。

相關問題