0

jsfl スクリプトでビデオを .fla プロジェクトにインポートし、全体を .swf として自動的にエクスポートしようとしています ビデオをインポートするときにビデオ ウィザードを無効にすることはできますか? 毎回すべてのオプションを手動で確認する必要はありません。違いがある場合、ビデオは.flv形式です

4

1 に答える 1

2

知る限り、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 スクリプト:

  1. フェードアウト (フォーカスのない) ダイアログを待機します
  2. クリックしてフォーカスを得る
  3. [ FLV を SWF に埋め込み、タイムラインで再生] オプションをクリックします。
  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 に答える