-1
我使用TKinter和python在我的覆盆子pi上創建了一個使用gui的鬧鐘。當鬧鈴響起時,我想讓它開始彈鋼琴。我可以很輕鬆地做到這一點,但我也想在GUI上顯示歌曲的名稱,但我無法弄清楚如何獲取當前正在播放的歌曲。我嘗試過使用管道「|」,並使用「>」重定向,但我無處可去。任何建議都會有幫助。如何從pianobar使用python檢索當前歌曲名稱和時間?
我使用TKinter和python在我的覆盆子pi上創建了一個使用gui的鬧鐘。當鬧鈴響起時,我想讓它開始彈鋼琴。我可以很輕鬆地做到這一點,但我也想在GUI上顯示歌曲的名稱,但我無法弄清楚如何獲取當前正在播放的歌曲。我嘗試過使用管道「|」,並使用「>」重定向,但我無處可去。任何建議都會有幫助。如何從pianobar使用python檢索當前歌曲名稱和時間?
您需要使用事件命令接口。從手冊頁:
示例腳本可以在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時一首新歌開始播放(手冊頁中還有其他可用的事件)。然後,您可以使用您選擇的工具來分析,以獲取歌曲標題。