やりたいこと(要件)
Pythonを使ってミュージックアプリの”再生・停止・次の曲にスキップ・音量”を操作したい。
動作に必要な環境
(1)MacOS(Windowsは対象外)
(2)Python3
(3)PythonからAppleScriptを利用するパッケージ
http://appscript.sourceforge.net/index.html
開発は終了しているようです。
手順
(1)実行するPC(Mac)で、以下のコマンドを実行しておく。
pip3 install appscript
(2)MusicControlクラスを準備する。
以下の内容をファイルに保存する。ファイル名は"MusicControl.py"
MusicControl.py
from appscript import app
class MusicControl(object):
"""
AppleScriptを利用して、Musicアプリをコントロールするクラス
注意:MacOSに依存する
"""
def __init__(self):
super().__init__()
self.app = app('Music')
self.app.run()
def pause(self):
"""
再生を一時停止する
:return:
"""
self.app.pause()
def play(self):
"""
再生
:return:
"""
self.app.play()
def stop(self):
"""
停止
:return:
"""
self.app.stop()
def next_track(self):
"""
次の曲へ飛ぶ
:return:
"""
self.app.next_track()
@property
def sound_volume(self) -> int:
"""
ボリュームを0〜100の範囲で返す
:return:
"""
return self.app.sound_volume.get()
@sound_volume.setter
def sound_volume(self, volume: int):
"""
ボリュームを0〜100の範囲で設定する
:return:
"""
self.app.sound_volume.set(volume)
(3) MusicControlクラスを呼び出して操作する。
使いやすくUIを追加してもいいでね。また、通信機能と組み合わせれば、ミュージックアプリを遠隔操作することもできます。
foo.py
from MusicControl import MusicControl
def main():
music = MusicControl()
# 再生
music.play()
# 停止
music.stop()
# 音量アップ
music.sound_volume += 1
# 音量ダウン
music.sound_volume -= 1
if __name__ == '__main__':
"""
実行開始ポイント
"""
main()