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,这是一个问题。由于导入 FLV 对话框永远不会出现,Sikuli 脚本将超时。
不过,我可以运行这个:
FLfile.runCommandLine("open -a /Applications/Sikuli-IDE.app/Contents/MacOS/JavaApplicationStub /Users/george/Documents/sikuli/importFLV.skl");
这似乎打开了应用程序的一个窗口并异步运行脚本,这很棒。然后我运行导入。
sikuli 脚本:
- 等待淡出(失焦)对话框
- 点击获得焦点
- 点击在 SWF 中嵌入 FLV 并在时间线中播放选项
- 等待选择正确选项的对话框
- 点击继续
- 等待下一个屏幕
- 点击继续
- 等待下一个屏幕
- 点击完成
另外,在我的机器上,当我打开 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);
您可以找到运行here 的脚本的记录。在我运行 JSFL 脚本后,其余的点击由 Sikuli 处理。您也可以下载source script 和Sikuli executable script 用于我的设置,但我想您的设置会有所不同。
Sikuli 易于使用:输入命令,转到您的应用并按 CMD/Ctrl + Shift + 2 抓取快照并继续。
如果这对您有用,那么您可能可以修改 sikuli 脚本以等待一段时间来点击序列中的下一个视频,同时 Flash 加载一个新文档。应该有其他解决方法来管理视频列表,但如果此解决方案适用于您的设置,那就有意义了。