关于 CD 刻录

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

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

若要枚举用户计算机上的 CD 驱动器,请使用 IWMPCdromCollection 接口。 通过调用 IWMPCore::get_cdromCollection 检索指向此接口的指针。 通过使用 countitem 方法,可以循环访问集合以检索用户计算机上的每个 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 接口

临时属性