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::GetListContents 和 IWMPContentPartner::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");
请注意, LocationType 和 LocationID 参数不指定列表。 相反, Params 参数指定列表。 LocationType 和 LocationID 参数将传递给 IWMPContentPartner::GetListContents,但在这种情况下,GetListContents 可以忽略它们。 LocationType 和 LocationID 参数也会传递给 IWMPContentPartner::GetTemplate,后者可以使用它们来确定应随动态列表一起显示的发现页。
要求
要求 | 值 |
---|---|
版本 |
Windows Media Player 11 |
DLL |
|
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈