写入压缩示例

[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

对于某些音频或视频流,可能需要传递已压缩的样本,而不是传递原始数据。 此功能用于复制现有流或写入使用第三方编解码器压缩的示例。 编写压缩示例的过程与编写未压缩示例的过程相同,只不过使用 IWMWriterAdvanced::WriteStreamSample 而不是 IWMWriter::WriteSample。 有关编写未压缩示例的详细信息,请参阅 编写示例

编写压缩样本时,对于 CBR 配置文件,编写器将删除一些样本(如有必要),以将内容保持在指定的比特率和缓冲区窗口值内。 对于 VBR,编写器不会删除样本,但无法确保比特率和缓冲区窗口值正确。

如果要将流从一个文件复制到另一个文件,应始终将流配置对象从原始文件的配置文件复制到新文件的配置文件。 这可确保你具有正确的比特率和缓冲区窗口信息。 如果将压缩的流复制到设置了较低缓冲区窗口的流,则会在文件写入期间删除样本。

编写 ASF 文件