0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonを使ってミュージックアプリを操作する

Posted at

やりたいこと(要件)
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()

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?