概要
Python初心者がGoogle Play Musicの非公式APIをたたいて音楽を流す
という投稿の続き(みたいなもの)
前回の内容に加えてやりたかったこと
・勝手にじゃんじゃん音楽を流せるようにしたい→ステーションの利用
・次の曲が勝手に流れるようにする
ステーションについて
・gmusicapiのMobileclientのget_all_stationsっていうAPIでステーションを取得できる
・とりあえず取得したステーションを一覧で表示
・一覧から流したいステーションを選択
・音楽を流す
次の曲への移動について
・再生コマンド入力を時間制限付きにする。ビルトインのinputのラッパーとしてwait_inputを作成
・曲の情報からの曲の長さを取得して入力時間の制限とする
・タイムアウトした場合はループをbreakさせて次の曲へ
def wait_input(ms):
import signal
def timeout():
raise RuntimeError("end")
signal.signal(signal.SIGALRM, timeout)
signal.alarm(ms // 1000)
try:
key = input('>>')
except:
key = 'n'
finally:
signal.alarm(0)
return key
参考にしたもの
Simple key input with time out on python. タイムアウト付きキー入力。
問題点
・pauseしたときに時間制限のタイマーを止められないので、実装の方法を変えた方がいいかもしれない