4

我正在编写一个 SCORM 2004 产品。我可以更新 session_time,它可以工作。我可以设置状态(通过、失败等)我还可以获得 cmi.location 时间。没问题 !

但我没有成功获得总时间!(cmi.total_time)。我已经在 2 LMS 上进行了测试:

  • 在 Ganesha 上,API.GetValue('cmi.total_time') 是一个空字符串。

  • 在 Moodle 上,API.GetValue('cmi.total_time') 只是一个“P”。

但是我确实有正确的日志和正确的会话时间。

有人有想法吗?

谢谢 !

编辑。我也尝试在 cloud.scorm.com 和 cmi.total_time 每次 PT0H0M0S 时返回。编辑2。糟糕,我删除了 Donal 的编辑。

4

2 回答 2

3

根据您提供的信息,我猜您正在尝试设置cmi.session_time并进入cmi.total_time同一个学习者会话,这不会给出您期望的响应。

cmi.total_time包含当前学习者会话之前的所有学习者会话的总持续时间,这意味着它不会包含您期望它在第二个学习者会话之前具有的值。

设置cmi.session_time完成后,通过离开您所在的 SCO 来关闭当前的学习者会话,然后再回到它。然后您应该看到cmi.total_time现在填充了一个有效值。

祝你好运!

于 2010-06-07T19:11:35.963 回答
0

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

麦克风

于 2010-06-09T14:40:32.317 回答