0

我正在尝试让 jsfl 脚本将视频导入我的 .fla 项目并自动将整个内容导出为 .swf 导入视频时是否可以禁用视频向导?我不想每次都手动确认所有选项。视频为 .flv 格式,如果这有什么不同的话

4

1 回答 1

2

AFAIK 你不能直接绕过 FLV 导入对话框(使用 JSFL API)。

我尝试使用Sikuli脚本自动执行 FLV 导入向导。该脚本可以使用未记录的FLfile.runCommandLine()从 JSFL 运行。

我正在使用 OSX,所以我不确定下一部分是否也适用于 Windows。如果我直接运行 sikuli + 脚本:

FLfile.runCommandLine("/Applications/Sikuli-IDE.app/Contents/MacOS/JavaApplicationStub /Users/george/Documents/sikuli/importFLV.skl");

Flash 将等待它运行然后继续导入有问题的 FLV。Sikuli 脚本将超时,因为导入 FLV 对话框永远不会出现。

不过,我可以运行这个:

FLfile.runCommandLine("open -a /Applications/Sikuli-IDE.app/Contents/MacOS/JavaApplicationStub /Users/george/Documents/sikuli/importFLV.skl");

这似乎打开了应用程序的一个窗口并异步运行脚本,这很棒。然后我运行导入。sikuli 脚本:

  1. 等待淡出(失焦)对话框
  2. 点击获得焦点
  3. 单击在 SWF 中嵌入 FLV 并在时间线中播放选项
  4. 等待选择正确选项的对话框
  5. 点击继续
  6. 等待下一个屏幕
  7. 点击继续
  8. 等待下一个屏幕
  9. 点击完成

此外,在我的机器上,当我打开 SikuliIDE(没有特定脚本)并最小化时,该脚本始终有效。

导入视频的完整测试脚本如下所示:

var doc = fl.getDocumentDOM();
FLfile.runCommandLine("open -a /Applications/Sikuli-IDE.app/Contents/MacOS/JavaApplicationStub /Users/george/Documents/sikuli/importFLV.skl");
var path = FLfile.platformPathToURI('Users/george/Desktop/cuePointTest_1.flv');
doc.importFile(path);

您可以在此处找到运行脚本的记录。在我运行 JSFL 脚本后,其余的点击由 Sikuli 处理。您还可以为我的设置下载源脚本Sikuli 可执行脚本,但我想您的设置会有所不同。Sikuli 易于使用:输入命令,转到您的应用程序,然后按 CMD/Ctrl + Shift + 2 获取快照并继续。

如果这对您有用,那么您可能可以修改 sikuli 脚本以等待一段时间来点击序列中的下一个视频,同时 Flash 加载一个新文档。应该有其他解决方法来管理视频列表,但如果此解决方案适用于您的设置,那就有意义了。

于 2011-09-19T21:26:06.497 回答