为什么这个功能可以从按钮中完美地调用为" NATIVE APPLESCRIPT"
set film to (choose file with prompt "Choose input file.")'s POSIX path
set frame_number to 606 --- *this is an example frame_number*
set fps to 25
tell application id "com.apple.quicktimeplayer" -- QuickTime Player 7
tell (open film as POSIX file)
set current time to frame_number / fps * time scale
end tell
end tell
并提供此错误:Can’t make time scale into type number.
我的修改如下
Let ( mac_path = Right ( Substitute ( ClipsWork::Media Path; "/"; ":"); Length (ClipsWork::Media Path) - 1);
"set frame_number to " & ClipsWork::FPS_D & ¶ &
"set fps to 25" & ¶ &
"tell application \"Quicktime 7\"" & ¶ &
"activate" & ¶ &
"open " & Quote ( mac_path ) & ¶ &
"set current time to frame_number " & ¶ &
"set the dimensions of movie 1 to {480, 270}" & ¶ &
"end tell"
)
我做错了什么?
此致
丹
答案 0 :(得分:0)
我可以看到两个提取物都在做同样的事情,但它们略有不同。最简单的检查是将第二次提取粘贴到数据查看器中。
区别在于:
set current time to frame_number / fps * time scale
VS
"set current time to frame_number " & ¶ &
缺少fps变量的除法和时间尺度的乘法。
查看错误消息,听起来时间刻度的数据类型不正确。
答案 1 :(得分:0)
感谢关注我的帖子:
该脚本现在可以“随机”作为Snow Leopard和Mavericks中的计算脚本工作。
有了一些帮助(我是Applescript的新手)。 这是脚本:
Let (
mac_path = Right ( Substitute ( ClipsWork::Media Path; "/"; ":"); Length (ClipsWork::Media Path) - 1)
;
"set frame_number to " & ClipsWork::FPS_D & ¶ &
"tell application \"QuickTime Player 7\"" & ¶ &
"activate" & ¶ &
"tell (open " & Quote ( mac_path ) & ")" & ¶ &
"set current time to frame_number / 25 * time scale" & ¶ &
"set dimensions to {480, 270}" & ¶ &
"end tell" & ¶ &
"end tell"
)
我被建议在调用Quicktime之后添加另一个“tell”指令,所以现在它可以工作。
然而,该脚本会“随机”发出各种错误,尤其是在工作几个小时之后。好像缓存填满导致错误。我只在互联网上下载这个应用程序...
这在小牛队更常见。我得到的错误是在Path数据上。它包含“:”符号,因此错误总是“无法获取”:“在标识符之后”。
FMP12在脚本计算中添加表名和字段,表格包括“:”。
如何解决这个问题超出了我的理解......如果有人有关于欺骗FMP12的想法,请告诉我。
这是FMP12数据库中的数据;
在相同的布局中,我有这些数据的字段:
ClipsWork::Media Path
返回此文字:/Volumes/Exodo/Film_30_XI_12 XII/Whole_Files/Action_Proxy/MVI_3571.MOV
ClipsWork::FPS_D
返回此帧编号:1458
我只有一张桌子但仍然是结果。
谢谢
答案 2 :(得分:0)
我必须承认,每当我在FileMaker中使用AppleScript时,我从未使用过计算过的脚本。相反,为了从一个到另一个获取信息,我在FileMaker中设置全局字段,然后使用AppleScript获取全局字段的内容。因此,我创建此解决方案,将使用脚本步骤将全局字段设置为正确的路径(Set Field[g_applescript_parameter]; "your calc"]
),然后是Perform AppleScript
,如下所示:
tell current record to set mac_path to cell "g_applescript_parameter"
...
tell application id "com.apple.quicktimeplayer" to open file mac_path
这样做的一个主要优点是,在Apple的脚本编辑器中对脚本中的错误进行故障排除要容易得多(在Script Debugger中更容易)。一旦你在那里工作,复制和粘贴将其带入FileMaker而不进行修改(除非脚本编辑器需要删除tell application "FileMaker"
块,脚本调试器可以让AppleScript命令以默认应用程序为目标)