(Windows 媒体播放器 SDK) 错误处理

Windows 媒体播放器 6.4 ActiveX控件通过在对话框和状态栏上显示错误消息来提供默认错误处理。 还可以通过在脚本中处理错误来提供自定义错误处理。 错误处理是事件驱动的,这意味着你会收到每个错误的通知,并且必须决定在发生错误事件时如何处理每个错误事件。 有关使用版本 6.4 对象模型处理错误的详细信息,请参阅版本 6.4 Player 对象模型指南的错误处理部分,该指南是Windows 媒体播放器 SDK 的一部分。

Windows 媒体播放器 7 或更高版本的对象模型提供 Error 对象和 ErrorItem 对象来处理错误。 这两个对象协同工作,为你提供错误处理机制,使你能够完全灵活地控制错误处理过程。 Error 对象提供对 ErrorItem 对象的集合的访问权限;每个 ErrorItem 对象提供有关单个错误消息的详细信息。

发生错误时,错误信息将发布到错误队列。 队列是 ErrorItem 对象的集合。 将每个错误添加到队列中时,它与索引号 (从零开始) ,可用于标识特定的 ErrorItem 对象。 错误errorCount 属性检索错误队列中的错误数。 由于索引号是从零开始的,则发布到队列的最新错误将始终具有等于 Error 的索引值。errorCount 减去 1。

可以使用脚本为Windows 媒体播放器创建错误事件处理程序。 以下JScript示例演示如何从错误队列中检索最新的错误项,并使用 Windows 媒体播放器 7 或更高版本的对象模型显示错误代码和错误说明。 已创建 ID 为“WMP9”的 Player 对象。

<!-- Create an error event handler for Windows Media Player 7 or later errors. -->
<SCRIPT  LANGUAGE = "JScript"  FOR = WMP9  EVENT = error()>

// Store the number of errors in the error queue.
var max = WMP9.error.errorCount;

// Retrieve most recent ErrorItem object.
var err = WMP9.error.item(max-1)

// Store the error code number.
var errNum = err.errorCode;

// Store the error description string.
var errDesc = err.errorDescription;

// Build a message string to notify the user.
var msg = "Error number: " + errNum + "\n";
msg += "Error description: " + errDesc;

// Display the message box.
alert(msg);

</SCRIPT>

Error 对象具有两个可以使用的其他方法。 错误clearErrorQueue 方法允许从错误队列中删除所有错误,并将索引号重置为零。 你已完全控制此过程;只要需要这些错误可用,就可以在队列中保留错误,然后在处理完错误后清空队列。

错误webHelp 方法提供了一种使用 Internet 向用户显示最新错误信息的方法。 调用时,此方法会将有关队列中第一个错误的所有相关信息 (索引为零) 的查询传输到 Microsoft Windows 媒体播放器 Web 帮助,这在当前浏览器窗口中显示有关该错误的详细信息。

错误对象

ErrorItem 对象

对象模型迁移指南