我正在使用this AppleScript,打算在OS X上激活QuickTime並自動開始錄製音頻。用於QuickTime錄製的AppleScript:「AppleEvent處理程序失敗」
當運行中的Automator調試,腳本似乎在線路"set lastLength to duration of x"
突然停止,並拋出錯誤:
"AppleEvent handler failed".
什麼可能是錯誤的腳本?
on run {input, parameters}
tell application "QuickTime Player"
activate
set x to new audio recording
start x
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 audioNotePath to "/Users/me/Dropbox/Inbox/- Voice Memos"
set thePath to POSIX path of audioNotePath
set dateVariable to do shell script "date '+%m.%d.%y'"
set timeVariable to do shell script "date +'%l.%M %p'"
tell x to activate
delay 1
tell application "System Events"
keystroke "w" using {command down}
delay 1
keystroke thePath
delay 1
keystroke return
delay 1
keystroke "AudioNote "
keystroke dateVariable
keystroke " "
keystroke timeVariable
delay 1
click pop up button "Format:" of group 1 of sheet 1 of window "Untitled" of application process "QuickTime Player" of application "System Events"
delay 1
key code 125
delay 1
keystroke return
delay 1
keystroke return
delay 1
open thePath
end tell
return input
end tell
end run
我同意喬恩關於空閒處理程序和保存命令。最重要的是,請注意,QT文檔屬性(當前時間,數據速率,持續時間...)在錄製時不可用:這是腳本失敗的地方 – pbell
對不起,意外刪除了我的評論而不是編輯。正如pbelI所說,我建議使用空閒處理程序和導出命令來保存文件,而不是運行自己的循環來確定持續時間或使用UI腳本進行保存。 pbell也是正確的,只有在您停止錄製後才能獲得大多數QT文檔屬性,這是可用的時間。 – Jon