保存内容
[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
通过使用此 SDK,应用程序可以通过在读取器对象上调用 IWMReaderAdvanced2::SaveFileAs 方法,将下载或流式传输的内容保存到用户的本地计算机。 对于流式处理的内容,服务器必须使用快速缓存流式处理,这在 从客户端启用快速缓存流式处理部分中进行了说明。 对于流内容, SaveFileAs 方法创建一个 ASX 文件,该文件指向包含已保存内容的 ASF 文件。 如果读取器对象正在流式传输服务器端播放列表,则每个条目将另存为单独的 ASF 文件,并且 ASX 文件指向每个 ASF 文件。 对于下载的内容, SaveFileAs 方法仅创建 ASF 文件。
若要将内容保存到本地文件,请执行以下操作:
- 使用 URL 调用 IWMReader::Open 。 Open 是一个异步调用,并立即返回。 等待操作完成,如 创建读取器和打开文件中所述。
- 查询 IWMReaderAdvanced4 接口的读取器对象。
- 通过调用 IWMReaderAdvanced4::CanSaveFileAs 方法检查是否可以保存内容。 如果方法返回 False,则无法在本地保存内容。 否则,请继续执行步骤 4。
- 调用 IWMReaderAdvanced4::IsUsingFastCache 方法以确定服务器是否正在使用快速缓存流式处理。
- 使用本地文件的文件名调用 IWMReaderAdvanced2::SaveFileAs 。 如果 IsUsingFastCache 方法返回 True,则为文件名提供 .asx 扩展名。 否则,为文件名提供 .asf、.wma 或 .wmv 扩展名。
应用程序可以通过调用 IWMReaderAdvanced4::CancelSaveFileAs 方法,在保存操作正在进行时取消保存操作。
保存的内容可能受 DRM 保护,因此可能无法在另一台计算机上播放该文件。 有关内容保护的详细信息,请参阅 数字版权管理功能。
相关主题