发现页

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

如果活动在线商店是类型 1 的应用商店,Windows 媒体播放器在其用户界面中显示应用商店的内容。 库树视图控件具有用于在线商店的节点。 当用户单击该节点或其任何子节点时,Windows 媒体播放器在详细信息窗格中显示在线商店中的内容。

当用户在树视图控件或详细信息窗格中与在线商店内容交互时,Windows 媒体播放器显示在线商店提供的网页(称为发现页面)。 当用户浏览在线商店的目录时,发现页面提供有关音乐的其他信息。 发现页通过 External 对象的属性、方法和事件与Windows 媒体播放器通信。

每当Windows 媒体播放器更改其在线商店内容的视图时,它调用 IWMPContentPartner::GetTemplate(由在线商店的插件实现),以获取要与新视图一起显示的发现页面的 URL。

Windows 媒体播放器中在线商店内容视图的特点是五条信息:任务、位置类型、位置 ID、所选项类型和所选项 ID。 Windows 媒体播放器向 tasklocationpContextclickLocationpClickContext 参数中的 GetTemplate 方法提供这五项。 Windows 媒体播放器使这五项可用于 External 对象的任务libraryLocationTypelibraryLocationIDselectedItemTypeselectedItemID 属性中的发现页面。 有关 Windows 媒体播放器 如何指定其在线商店内容视图的详细信息,请参阅位置和所选项目

除了使发现页面能够与Windows 媒体播放器通信外,外部 对象还允许发现页面与在线商店的插件通信。 发生这种情况时,Windows 媒体播放器充当发现页和插件之间的桥梁。 例如,发现页可以调用 External.sendMessage 向插件发送自定义消息。 Windows 媒体播放器接收此方法调用,并依次调用 IWMPContentPartner::SendMessage 将消息传递给插件。 插件处理完消息后,会调用 IWMPContentPartnerCallback::SendMessageComplete。 然后,Windows 媒体播放器通过引发 External.OnSendMessageComplete 事件来通知发现页面。

External 对象还提供了一种发现页与另一个发现页进行通信的方法。 当发现页上的脚本调用 External.changeView 时,该脚本可以在 ViewParams 参数中提供字符串。 Windows 媒体播放器不解释 ViewParams 字符串,但它使字符串可用于 External.viewParameters 属性中的下一个发现页。

关于类型 1 在线商店

位置和所选项目