Контролируйте Quicktime, используя Applescript - PullRequest
0 голосов
/ 03 апреля 2020

Я ищу решение для управления Quicktime с помощью Applescript. Все, что мне нужно сделать, - это - открыть QuickTime и начать запись - остановить запись и сохранить файл в заданном месте.

Из предыдущих сообщений мне удалось получить следующее.

    set theFilePath to "/Users/jamestebb/Desktop/01TestRecords/ " & "myfile" & ".mov"

tell application "QuickTime Player"
    set newMovieRecording to new movie recording
    tell newMovieRecording
        start
        delay 5
        pause
        save newMovieRecording in POSIX file theFilePath
        stop
        close newMovieRecording
    end 

Однако это прекрасно работает, для этого проекта мне нужны отдельные сценарии для запуска и остановки записи, в отличие от ожидания / задержки.

Для начала записи я использовал.

set theFilePath to "/Users/jamestebb/Desktop/01TestRecords/ " & "myfile" & ".mov"

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

    end tell
end tell

Это работает нормально, однако, когда я пытаюсь остановить запись, используя приведенное ниже, я получаю ошибки, когда Пауза не понята

set theFilePath to "/Users/jamestebb/Desktop/01TestRecords/ " & "myfile" & ".mov"

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

        pause
        save MovieRecording in POSIX file theFilePath
        stop
        close MovieRecording
    end tell
end tell

Я предполагаю, что это потому, что файл, который в данный момент записывается, больше не является "новым движением". ie запись "

Любые идеи, как скоро исправить ??

1 Ответ

0 голосов
/ 03 апреля 2020

Я использовал следующий пример AppleScript код для проверки запуска Нового Mov ie Запись в QuickTime Player с первым сценарием , а затем обработал его вторым сценарием до приостановки, сохранения, остановки и закрытия .

  • Обратите внимание, что это предполагает, что QuickTime Player работает только с одним New Mov ie Recording и никаким другим QuickTime Player windows открыто.

Сценарий 1:

tell application "QuickTime Player" to start (new movie recording)

Сценарий 2:

set theFilePath to POSIX path of (path to movies folder) & "myMovie.mov"

tell application "QuickTime Player"
    tell document "Movie Recording"
        pause
        save it in POSIX file theFilePath
        stop
        close
    end tell
end tell

Между этими двумя сценариями он успешно создал myMov ie .mov файл в Фильмы папка моей домашней папки .

Тестирование проводилось в macOS High Sierra .


Примечание: пример AppleScript код * 107 2 * это только то, что не содержит обработки ошибок , как это может быть уместно. Пользователь должен добавить любую обработку ошибок , которая может быть уместной, необходимой или желаемой. Взгляните на оператор try и error оператор в Руководство по языку AppleScript . См. Также Работа с ошибками . Кроме того, использование delay команда может быть необходимо между событиями, где это уместно, например, delay 0.5, со значением задержка установлена ​​соответствующим образом.

...