External.changeViewOnlineList 方法

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

注意

本主题介绍专为在线商店使用而设计的功能。 不支持在在线商店上下文之外使用此功能。

changeViewOnlineList 方法更改Windows 媒体播放器中的视图,以显示由在线商店动态生成的列表。

语法

External.changeViewOnlineList(
  LibraryLocationType,
  LibraryLocationID,
  Params,
  FriendlyName,
  ListType,
  ViewMode
)

参数

LibraryLocationType [in]

指定新视图类型的 库位置常量 。 例如,常量 CPGenreID 指定新视图将显示特定流派。

LibraryLocationID [in]

包含 要显示在新视图中的特定项的 ID 的字符串。 例如,如果 LibraryLocationType 为 CPGenreID,则此参数指定要在新视图中显示的流派的 ID。 此字符串可以为空。

Params [in]

包含Windows 媒体播放器通过调用 IWMPContentPartner::GetTemplate 传递到在线商店插件的参数的字符串。 Windows 媒体播放器不解释这些参数。 它们由在线商店创建,仅对在线商店有意义。 此字符串可以为空

FriendlyName [in]

包含由动态列表Windows 媒体播放器显示的友好名称的字符串

ListType [in]

一个库位置常量,指定动态生成的列表中的项的类型。 例如,如果此参数的值为 CPTrackID,则动态列表将包含轨道。

ViewMode [in]

指定Windows 媒体播放器用于显示动态列表的模式的字符串。 调用方必须将此参数设置为 contentpartner.h 中定义的以下值之一:

ViewModeReport

ViewModeDetails

ViewModeIcon

ViewModeTile

ViewModeOrderedList

返回值

此方法不返回值。

备注

当发现页上的脚本调用 changeViewOnlineList 时,Windows 媒体播放器将一些参数传递给 IWMPContentPartner::GetListContentsIWMPContentPartner::GetTemplate 方法,这些方法由在线商店的插件实现。 下表显示了这三种方法的参数之间的对应关系。

changeViewOnlineList 参数 GetListContents 参数 GetTemplate 参数
LocationType location location
LocationID pContext pContext
Params bstrParams bstrViewParams
ListType bstrListType 不适用

由于上表所示的所有三种方法都由在线商店实现,因此在参数的使用方式上具有一定的灵活性。 其思路是为 GetListContents 提供足够的信息来确定它应检索哪个列表,并为 GetTemplate 提供足够的信息,以确定接下来应显示哪个发现页。 以下示例演示了两种可能性。

示例 1:在线商店目录中的动态列表

假设你希望插件获取在线商店目录中 ID 为 6 的动态列表的内容。 假设列表 6 是曲目列表。 可以通过进行以下调用,为插件提供足够的信息。

external.changeViewOnlineList(
   "CPListID", 6, "", 
   "Songs for Today", "CPTrackID", "ViewModeDetails");

请注意, Params 参数为空;插件在其他参数中具有足够的信息。

示例 2:不在在线商店目录中的动态列表

假设您希望插件获取不在在线商店目录中的动态列表的内容。 也许你决定有一个动态列表,其中包含由特定艺术家挑选的歌曲。 假设艺术家在在线商店的目录中的 ID 为 2。 可以进行以下调用。

external.changeViewOnlineList(
   "CPArtistID", 2, "songs picked by Sally", 
   "Sally Picks", "CPTrackID", "ViewModeDetails");

请注意, LocationTypeLocationID 参数不指定列表。 相反, Params 参数指定列表。 LocationTypeLocationID 参数将传递给 IWMPContentPartner::GetListContents,但在这种情况下,GetListContents 可以忽略它们。 LocationTypeLocationID 参数也会传递给 IWMPContentPartner::GetTemplate,后者可以使用它们来确定应随动态列表一起显示的发现页。

要求

要求
版本
Windows Media Player 11
DLL
Wmp.dll

另请参阅

类型 1 在线商店的外部对象

IWMPContentPartner::GetListContents

IWMPContentPartnerCallback::AddListContents

IWMPContentPartner::GetTemplate

位置和所选项目