Ich kann dein Skript darauf reduzieren:
tell application "QuickTime Player" -- Get the iCloud file path to avoid permission error set filePath to "Macintosh HD:Users:jm:Library:Mobile Documents:com~apple~QuickTimePlayerX:Documents:movie.wav" -- Get a handle to the initial window stop the document named "Audio Recording" -- Get second handle to new titled window save the document named "Untitled" in filePath -- Get third handle to new titled window close the document named "movie.wav.qtpxcomposition" saving no end tell
Wie ich in meinem Kommentar erwähnt habe, ist es überflüssig, ein Fenster id
von seinem name
abzurufen, nur um es name
von diesem Fenster abzurufen id
. Sie können auf den document
Namen verweisen, den Sie bereits haben (wenn kein Dokument mit diesem Namen vorhanden ist, wird ein Fehler ausgegeben; das gleiche gilt jedoch auch für Ihr Originalskript). Um dies zu vermeiden, können Sie zunächst prüfen, ob es existiert:
tell document named "Audio Recording" to if it exists then stop
Der activate
Befehl schien unnötig zu sein, da für keinen der folgenden Befehle QuickTime im Fokus stehen musste.
Schließlich war die Variable f
redundant.