我正在寻找一个使用Applescript控制Quicktime的解决方案。我所需要做的就是——-打开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
这很好,但当我尝试使用以下命令停止录制时,我会出现错误,其中Pause不被理解为
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
我猜这是因为当前录制的文件不再是"新电影录制">
有什么想法吗??
我使用以下示例AppleScript代码测试在QuickTime Player中用第一个脚本启动新电影录制,然后用第二个脚本处理它,以暂停、保存、停止并关闭。
- 注意,这假设QuickTimePlayer运行时只有一个NewMovieRecording窗口,而没有打开其他Quick TimePlayer窗口
脚本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
在这两个脚本之间,它成功地在我的主页文件夹的Movie文件夹中创建了myMovie.mov文件。
测试是在macOS High Sierra下进行的。
注意:示例AppleScript代码仅此而已,不包含任何适当的错误处理。用户有责任根据需要或需要添加任何错误处理。查看AppleScript语言指南中的try语句和error语句。另请参阅处理错误。此外,在适当的事件之间(例如delay 0.5
(可能需要使用延迟命令,并适当设置延迟的值
该脚本不适用于我的旧Macbook Air,尤其是较长的录音。
因此,我了解了";sox";。(这仅用于录音(。我使用Applescript,并将其与终端的录制相集成。使用Control+C中止记录。
tell application "System Events"
tell application "Terminal" to activate
delay 1
repeat 2 times
delay 2
key code 8 using {control down}
end repeat
结束通知
Mac相当于arecord命令?