web-dev-qa-db-ja.com

AppleScript + Quicktime:ムービーの記録を開始および停止し、ディスクにエクスポートします

画面の記録を開始し、数秒待ってから記録を停止し、保存した記録をディスクにエクスポートしようとしています。

バージョン

  • AppleScript 2.2.4
  • QuickTime:10.2

AppleScript

set filePath to "" & (path to desktop)

tell application "QuickTime Player"
    set newMovieRecording to new movie recording
    tell newMovieRecording
        start
        delay 2 --(seconds)
        stop
        export newMovieRecording in (filePath & "movie") using settings preset "25 fps"
    end tell
end tell

停止コマンドと開始コマンドは正しく機能しますが、exportコマンドは次のエラーで失敗します。

movie_record.scpt:215:294: execution error: QuickTime Player got an error: Can’t get document "Movie Recording". (-1728)
1
Sean Coonce

解決策を見つけました。スクリプトが呼び出されてから実際に記録が開始されるまで、わずかな遅延(約2秒)があることに注意してください。

(*********************************************
Record a Single `QuickTime` Movie
Args:
    1. name: The name of the movie.
    2. seconds: The length of the movie you want to record in seconds.
Usage:
    > osascript movie_record.scpt 'name' 5
    > osascript movie_record.scpt <file_name> <seconds>
**********************************************)
on run argv
    set movieName to item 1 of argv
    set delaySeconds to item 2 of argv
    set filePath to (path to desktop as text) & movieName
    set f to a reference to file filePath

    tell application "QuickTime Player"
        set newMovieRecording to new movie recording

        tell newMovieRecording
            start
            delay delaySeconds
            pause
            save newMovieRecording in f
            stop
            close newMovieRecording
        end tell
    end tell
end run
1
Sean Coonce