ゆっくり技術ノート!

いつかきっとできるだろうよ

AppleScriptでiTunesのテレビ番組を連続再生する

iTunes のテレビ番組を連続再生するには再生したいテレビ番組をプレイリストに登録してリピート再生するという方法がある。
しかし、毎度毎度プレイリストを作るのは大変なので AppleScript を使って自動で次のエピソードに移動するようにしてみる

仕組み

  1. Scriptを起動したら TV Show が再生されていないか20秒毎にチェックする
  2. 再生されていたらそのEpisode の合計時間と現在の再生位置から残りの再生時間を3分ごとに調べる
  3. 残りの再生時間が3分以下になったら1分ごとにチェック、1分以下になったら1秒ごとにチェック
  4. 残りの再生時間が1秒以下になったら次のEpisode に移動する
  5. 2にもどる

今回使った命令いろいろ

次のEpisode に移動

  • これは他の種類のメディア(音楽とか)にも使えてキーボードについている送りキー[▶︎▶︎]と同じ機能を持つ
tell application "iTunes"
    next track
end tell

再生中のトラックの合計時間を調べる

  • 1:20:30(h:m:s) のように出力される
tell application "iTunes"
    set timeSize to time of current track as text
end tell

再生中のトラックの再生済みの時間を調べる

  • 秒で出力される
  • 再生されていない時は missing value となる
tell application "iTunes"
    set nowPositionSec to player position
end tell

コードは Gist にある

This applescript will automatically play the episode of the next iTunes TV show. · GitHub

  • 右にあるDownload ZIPからダウンロードする
  • Script Editor で開いて.app形式で保存する
  • Spotlight から起動したり、iTunes Scriptフォルダに入れて iTunes からも起動できる
  • iTunes Scriptフォルダは~/Library/iTunes/Scripts

参考ページ

  1. 鳶嶋工房 / AppleScript / Tips / スクリプトの中断
  2. iTunes for Mac まとめ - AppleScript
    • iTunes関連の命令について
  3. life log: AppleScript 最速基本文法マスター
  4. iTunes Scripts の使い方
    • iTunes Scriptフォルダの場所

ありがとうございます