自动化脚本使用JavaScript使用QuickTime记录屏幕

问题描述 投票:2回答:1

我正在尝试编写一个JavaScript自动化脚本来记录我的Mac上的屏幕。我发现API在doc.close()这一行被破坏了。 QuickTime只是挂在那里,最终我的脚本编辑器因超时错误而失败。

var QuickTime = Application("QuickTime Player");
var doc = QuickTime.newScreenRecording();
doc.start();
delay(2);
doc.close();

我最终必须从命令行退出QuickTime,其中包括:

$ killall QuickTime\ Player

然后我再次打开QuickTime找我的视频在那里等我。那么我决定添加参数close方法,现在我的脚本看起来像这样:

var QuickTime = Application("QuickTime Player");
var doc = QuickTime.newScreenRecording();
doc.start();
delay(2);
doc.close("yes",Path("/Users/myuser/Desktop/movie.mov"));
QuickTime.quit();

Result:
Error -2700: Script too silly to execute.
Error on line 5: Error: Named parameters must be passed as an object.

我没有看到足够的文档来完全理解我在这里被问到什么时候。编写此脚本以捕获屏幕录制并将该文档/文件保存到桌面的正确方法是什么?

javascript macos automation javascriptcore osascript
1个回答
0
投票

我想close希望它的每个参数都带有一个名字。名称 - 参数对可以表示为具有以下语法的对象:

doc.close({saving: 'yes'}, {path: '/Users/myuser/Desktop/movie.mov'});

而不是这个:

doc.close("yes",Path("/Users/myuser/Desktop/movie.mov"));

注:我没有尝试使用QuickTime。如果这不起作用或我错了,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.