QuickTime Player 7 v7.6.6 で次のスクリプトを使用して、AVI コンテナ ファイルを MOV コンテナ ファイルにバッチ変換しようとしています。
tell application "Finder"
try
set myFolder to (the folder of the front window) as alias
on error
beep
end try
-- get list of .avi files
set aviFiles to files of myFolder whose name contains ".avi"
end tell
tell application "QuickTime Player 7" to activate
repeat with aviFile in aviFiles
set aviName to name of aviFile as text
set dispName to (text 1 thru ((length of aviName) - 4)) of aviName
set movName to dispName & ".mov"
set movPath to (POSIX path of myFolder & movName)
tell application "QuickTime Player 7"
open aviFile
save front document in movPath
close front document
end tell
end repeat
Finder でフォルダーを選択してこのスクリプトを実行すると、次のエラーが表示されます。
QuickTime Player 7 got an error: Can’t get document 1. Invalid index.
スクリプトを実行すると、QuickTime Player X と QuickTime Player 7 の両方が有効になります (開かれます)。
ムービー ファイルaviFileは、QuickTime Player 7 ではなく、QuickTime Player X で実際に開くように見えます。これは、QTP7 がドキュメント 1 を取得できないというエラー メッセージが表示される理由を説明しています。
このスクリプトを修正して、AVI ムービーを QuickTime Player X ではなく QuickTime Player 7 で開くようにする方法はありますか? コマンドラインから QuickTime Player 7 を制御する方法はありますか?
ffmpegX (または同様のもの) のようなトランスコーダーを使用したくないことに注意してください。これにより、AVI の品質が低下します (また、ファイル サイズが大きくなります)。新しい MOV コンテナで AVI の再保存を自動化して、既にインストールしたコーデックで iTunes を再生できるようにしたいだけです。アドバイスありがとうございます。