我正在编写SCORM 2004产品。 我可以更新session_time,它可以工作。 我可以设置状态(通过,失败等...) 我也可以获得cmi.location时间。没问题!
但我没有成功获得总时间! (cmi.total_time)。 我在2 LMS上测试过:
在Ganesha上,API.GetValue('cmi.total_time')是一个空字符串。
在Moodle上,API.GetValue('cmi.total_time')只是一个“P”。
但是我确实拥有正确的会话时间日志。
有人有想法吗?
谢谢!
EDIT。 我也尝试使用cloud.scorm.com和cmi.total_time每次返回PT0H0M0S。 EDIT2。 Ooops我删除了Donal的编辑。
答案 0 :(得分:3)
根据您提供的信息,我猜您正在尝试设置cmi.session_time
并在同一个学习者会话中获得cmi.total_time
,这不会给您回复“期待。
cmi.total_time
包含所有学习者课程在当前课程之前的总持续时间,这意味着它将不包含您希望它在第二个学习者课程之前拥有的值
一旦设置了cmi.session_time
,请关闭当前的学习者会话,方法是离开您正在使用的SCO,然后再回到它。然后,您应该看到cmi.total_time
现在填充了有效值。
祝你好运!
答案 1 :(得分:0)
当您恢复第二个会话并尝试检索总时间时,您是否能够在第一个会话中检索为cmi.location存储的值?如果没有,那么你可能没有暂停会话。为了使数据在下次启动时可用,您需要在终止第一个会话之前将cmi.exit设置为暂停。
麦克