使用同步读取器检索压缩样本

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

与异步读取器一样,同步读取器也可以检索压缩的示例。 将流从一个文件复制到另一个文件时,应使用压缩的示例。

从 ASF 文件中提取数据后,Windows Media Format SDK 不提供任何解码数据的方法。 如果收到压缩的样本,并且以后想要解压缩它们,则必须提供自己的代码才能执行此操作。 绕过此限制的一种方法是将压缩样本写入新的 ASF 文件,然后将其重新读取为普通的未压缩样本。

若要使用同步读取器接收压缩样本,请在播放之前或播放期间调用 IWMSyncReadReader::SetReadStreamSamples 。 为 fCompressed 传递 true。

注意

图像流对压缩流传送无效。 如果将图像流从一个文件复制到另一个文件,它将在新文件中不起作用。 若要将图像流从文件复制到文件,请按输出编号检索图像流样本,并将其包含在新文件中,就像包括新图像流一样。

 

使用同步读取器读取文件