Ich versuche, eine Automator-Anwendung zu erstellen, die Quicktime startet, eine neue Audioaufnahme erstellt, diese Aufnahme startet und sie dann mit einem bestimmten Dateinamen speichert, nachdem im Aufnahmefenster auf die Stopp-Schaltfläche geklickt wurde. Obwohl ich dies in Lion problemlos tun konnte, habe ich immer wieder Probleme mit der Aktion Start Capture in Mountain Lion. Obwohl das Kontrollkästchen „Auf Abschluss der Aufnahme warten“ aktiviert ist, scheint die Aktion nicht zu erkennen, wenn in Quicktime auf die Stopp-Schaltfläche geklickt wird. Alle Lösungen, Tricks oder Problemumgehungen, mit denen dies ordnungsgemäß funktioniert, wären sehr willkommen!
Bei der Automatisierung von QuickTime unter Mountain Lion funktioniert vieles nicht. Das ist hässlich, aber es scheint eine Problemumgehung zu sein, die den Hauptvorteil hat, tatsächlich zu funktionieren.
Verwenden Sie in Ihrem Automator-Flow die Aktion „AppleScript ausführen“. Verwenden Sie dies als Skript:
tell application "QuickTime Player"
activate
set x to new audio recording
tell x to start
delay 1
set lastLength to duration of x
delay 1
set newLength to duration of x
try
repeat while lastLength is not equal to newLength
delay 1
set lastLength to newLength
set newLength to duration of x
end repeat
end try
-- display alert name of document 1
set v to file of front document
set thePath to POSIX path of (path to desktop)
tell x to activate
delay 1
tell application "System Events"
keystroke "S" using {command down, shift down}
delay 1
keystroke thePath
delay 1
keystroke return
delay 1
keystroke "specific file name"
keystroke return
end tell
end tell
Das ist nicht schön, aber es ist ein Workaround.
Nahezu alle codebasierten Möglichkeiten, den Speicherbefehl in QuickTime über AppleScript zu skripten, scheinen in Mountain Lion defekt zu sein. Ich kann nicht auf den Pfad des vordersten Dokuments zugreifen. Ich kann nicht exportieren. Ich kann das Speichern nicht beenden. Alles schlägt entweder stillschweigend oder mit einer Fehlermeldung fehl. Was zu funktionieren scheint, ist, die entsprechenden Tastenanschläge zu senden, um einen manuellen Dateiexport zu simulieren. Das habe ich hier also getan.
Ich vermute, Sie möchten, dass Ihre Datei unter einem anderen Namen als "bestimmter Dateiname" und vielleicht an einem anderen Ort als Ihrem Desktop gespeichert wird. Nehmen Sie die entsprechenden Ersetzungen im Skript vor, damit dies geschehen kann. Die Datei befindet sich dann auf der Festplatte; Nachfolgende Aktionen in Ihrem Workflow können davon profitieren.
Beachten Sie, dass Sie, wenn Ihre Datei bereits existiert, einen Bestätigungsdialog im QT-Speicherbefehl erhalten und das Skript dies nicht automatisch handhabt.
Anstatt die integrierten Start-Capture-Aktionen zu verwenden, verwenden Sie eine AppleScript-Aktion als Auslöser, um die Aufnahme zu starten (und warten Sie, bis sie beendet wird), und übergeben Sie dann die resultierende Datei an Automator, um alles andere damit zu tun.
Ich habe das Skript von Daniel Lawson leicht modifiziert:
tell application "QuickTime Player"
activate
new audio recording
tell front document to start
delay 1
set lastLength to duration of front document
delay 1
set newLength to duration of front document
try
repeat while lastLength is not equal to newLength
delay 1
set lastLength to newLength
set newLength to duration of x
end repeat
end try
set theFile to file of front document
return POSIX path of theFile
end tell
Ich habe die Exportzeilen 1 entfernt und die Verweise von einer Variablen auf einfach geändert front document
(was einige Fehler vermeidet, wenn die Aufzeichnung kurz ist, auf die ich während meiner Tests gestoßen bin). Schließlich habe ich eine return-Anweisung mit dem POSIX-Pfad der resultierenden Datei hinzugefügt, die Automator als Eingabe für nachfolgende Aktionen verwenden kann.
Fügen Sie dies in eine AppleScript-Aktion ein, und die resultierende Datei wird ordnungsgemäß an alle anderen Aktionen weitergegeben, die Sie haben (z. B. Verschieben / Umbenennen oder Neucodieren).
1 Die Funktionen von QuickTime Player save
und export
AppleScript sind so kaputt, dass sie unbrauchbar sind. Meine Theorie ist, dass dies geschah, als 10.7 das automatische Speichern einführte, da alle Aufnahmen automatisch in Ihrem Verzeichnis gespeichert werden ~/Movies
und die Qualitätseinstellungen vorher manuell angepasst werden müssen (sie werden AppleScript nicht ausgesetzt).
Daniel