cmi.total_time参数不返回任何内容

时间:2010-06-07 15:34:22

标签: moodle scorm scorm2004

我正在编写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每次返回P​​T0H0M0S。 EDIT2。 Ooops我删除了Donal的编辑。

2 个答案:

答案 0 :(得分:3)

根据您提供的信息,我猜您正在尝试设置cmi.session_time并在同一个学习者会话中获得cmi.total_time,这不会给您回复“期待。

cmi.total_time包含所有学习者课程在当前课程之前的总持续时间,这意味着它将不包含您希望它在第二个学习者课程之前拥有的值

一旦设置了cmi.session_time,请关闭当前的学习者会话,方法是离开您正在使用的SCO,然后再回到它。然后,您应该看到cmi.total_time现在填充了有效值。

祝你好运!

答案 1 :(得分:0)

当您恢复第二个会话并尝试检索总时间时,您是否能够在第一个会话中检索为cmi.location存储的值?如果没有,那么你可能没有暂停会话。为了使数据在下次启动时可用,您需要在终止第一个会话之前将cmi.exit设置为暂停。

麦克