使用Applescript控制Quicktime



我正在寻找一个使用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命令?

相关内容

  • 没有找到相关文章

最新更新