2013-06-26 4 views
1

Попытка запуска записи на экране, подождите несколько секунд, остановите запись и экспортируйте сохраненную запись на диск.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 

Остановка и запуск команды работают корр ectly но команда export дает сбой с этой ошибкой:

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

ответ

1

Найдено решение. Обратите внимание, что с момента запуска скрипта происходит небольшая задержка (около ~ 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.mov' 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 
+0

Я хочу записать экран, пока выполнение моей команды терминала не закончится (хотите улучшить функцию без задержки), можете ли вы помочь мне с тем же –

+0

. Я получаю разрешение, запрещенное для сохранения, если я даю путь вместо имени файла изменение сценария –

3

Обратите внимание на название изменений документа после того, как команда остановки выдается ...

set filePath to (path to desktop as text) & "movie.mov" 

tell application "QuickTime Player" 
    set newMovieRecording to new movie recording 
    set windowID to id of first window whose name = "Movie Recording" 

    tell newMovieRecording 
     start 
     delay 2 --(seconds) 
     stop 
    end tell 

    set newMovieRecordingDoc to first document whose name = (get name of first window whose id = windowID) 
    tell newMovieRecordingDoc to export in filePath using settings preset "iPod" 
    --tell newMovieRecordingDoc to export in filePath using settings preset "25 fps" 
end tell 
+0

Я запустил предложенный блок кода, а команда 'export' не выдала ошибку, QuickTime ничего не сохранил на диске, и окно записи все еще было открыто. Можете ли вы проверить, сохраняет ли QuickTime файл в указанное место на вашем Mac? – cooncesean

+0

Я написал и протестировал его в Snow Leopard. Я могу проверить последнюю версию сегодня вечером. – adayzdone

+0

Можете ли вы объяснить разницу между 'save' и' export'? Нужно ли мне звонить один за другим? У меня есть 'save newMovieRecording в filePath' (он вызывает этот диалог: http://cl.ly/image/0s3O0r0D0c1c), но файл по-прежнему не сохраняется на диске. – cooncesean

 Смежные вопросы

  • Нет связанных вопросов^_^