关于 CD 刻录

Windows 媒体播放器 11 SDK 引入了用于创建 CD 的新功能。 此过程称为 “正在燃烧”。

若要枚举用户计算机上的 CD 驱动器,请使用 IWMPCdromCollection 接口。 通过调用 IWMPCore::get_cdromCollection检索指向此接口的指针。 通过使用 计数 方法,可以循环访问集合以检索用户计算机上的每个 CD 驱动器的 IWMPCdrom 接口指针。 IWMPCdrom 接口表示单个 CD 驱动器。

在开始燃烧 CD 之前,必须先通过 IWMPCdrom 指针调用 QueryInterface,才能检索指向 IWMPCdromBurn 接口的指针。 通过使用 isAvailable 方法,可以确定特定 CD 驱动器是否可以燃烧 CD、驱动器中是否存在 CD 以及 CD 的使用方式。

若要指定要燃烧到 CD 的项目,必须创建播放列表。 Windows 媒体播放器使用 IWMPPlaylist 接口表示播放列表。 你可以以任何方式创建此播放列表。 例如,可以通过调用 IWMPMediaCollection::getByAlbum 从库中检索播放列表。 创建要燃烧到 CD 的播放列表后,必须调用 IWMPCdromBurn::p ut_burnPlaylist 方法,并将播放列表指针作为参数传递。 这会将播放列表设置为Windows 媒体播放器将复制到 CD 的播放列表。

如果从库中检索播放列表,则对播放列表所做的任何更改都将反映在用户的库中。 若要避免这种情况,请调用 IWMPPlaylist::setItemInfo,传递属性名称“Temporary”和值“true”。 这会将播放列表实例转换为临时播放列表,无需更改原始播放列表即可对其进行编辑。

每次设置用于燃烧的新播放列表或对现有烧毁播放列表进行更改时,都必须调用 IWMPCdromBurn::refreshStatus 来更新状态信息。 这可确保Windows 媒体播放器执行必要的处理,以便为 CD 燃烧操作提供准确的状态信息。

若要指定要烧毁的 CD 类型,请调用 IWMPCdromBurn::p ut_burnFormat。 Windows 媒体播放器可用于燃烧两种类型的 CD:音频 CD 和数据 CD。 WMPBurnFormat 枚举定义 CD 类型。

可以通过调用 IWMPCdromBurn::p ut_label 为 CD 指定卷标签。

准备好开始燃烧 CD 时,请调用 IWMPCdromBurn::startBurn。 可以通过定期调用 IWMPCdromBurn::get_burnProgress 来监视燃烧操作的进度。 此方法检索整个燃烧操作的进度值。 检索的值是一个数字,表示已完成的燃烧百分比。 可以通过处理 IWMPEvents3::CdromBurnStateChange 事件来监视燃烧操作的状态,该事件使用 WMPBurnState 枚举来指示当前状态。 应注意将事件 () 提供的 IWMPCdromBurn 指针与表示燃烧操作的指针进行比较,以确保操作引发事件。 可以通过调用 IWMPCdromBurn::stopBurn 来停止燃烧操作。

可以处理两个事件来接收有关燃烧操作的错误通知。 发生泛型错误时,将引发 IWMPEvents3::CdromBurnError 事件。 当特定媒体项在燃烧过程中导致错误时,将引发 IWMPEvents3::CdromBurnMediaError。 与 CdromBurnStateChange 事件一样,其中每个事件都提供 一个 IWMPCdromBurn 指针,该指针表示引发事件的燃烧操作。 CdromBurnMediaError 事件提供一个 IDispatch 指针,该指针表示引发事件的媒体项。 可以通过此指针调用 QueryInterface 来检索 IWMPMedia 指针。

关于玩家对象模型

IWMPCdrom 接口

IWMPCdromBurn 接口

IWMPCdromCollection 接口

IWMPEvents3 接口

IWMPMedia 接口

IWMPPlaylist 接口

临时属性