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

[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

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

Error 对象

ErrorItem 对象

对象模型迁移指南