使用JavaScript编写自动化脚本,在QuickTime中记录屏幕的方法

3

我正在尝试编写一个JavaScript自动化脚本来记录我Mac上的屏幕。我发现在doc.close()这一行,API出现了故障。QuickTime就会卡在那里,最终我的脚本编辑器会因为超时错误而失败。

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

我最终不得不通过以下命令行退出QuickTime: $ killall QuickTime\ Player 然后我再次打开QuickTime,我的视频就会在那里等待我了。所以我决定添加关闭方法的参数,现在我的脚本看起来像这样:
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.

我没有看到足够的文档来完全理解这里要求我的内容。写下捕获屏幕录像并将该文档/文件保存到我的桌面的脚本的正确方法是什么?

1个回答

0

我猜 close 函数期望每个参数都有一个名称。名称和参数可以使用以下语法表示为一个对象:

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

应该使用这个:

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

注意:我没有用QuickTime进行实际测试,请告诉我如果这不起作用或者我错了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接