任意和预压缩的流输入

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

只有由其中一个 Windows 媒体编解码器压缩的输入具有多个可能的输入。 其他类型的可能输入是任意输入和预压缩的输入。 本部分介绍了这些类型的输入格式要求。

任意流输入

任意流类型的输入与配置文件中所述的流格式相同。 不应设置这些类型的输入格式。

预压缩的流输入

将流从一个文件复制到另一个文件时,传递已压缩的示例。 在这种情况下,必须将输入属性对象设置为 NULL,以通知编写器无需验证传入的数据。 若要将输入格式设置为 NULL,请调用 IWMWriter::SetInputProps 并将 NULL 作为第二个参数传递。 使用 NULL 参数调用此方法时,必须先调用 BeginWriting

使用预压缩流时,必须先手动将编解码器信息复制到文件标头,然后再编写。 若要获取编解码器信息,请调用 IWMHeaderInfo2::GetCodecInfoCountIWMHeaderInfo2::GetCodecInfo 来枚举与读取器中的文件关联的编解码器。 选择与预压缩流的流配置匹配的编解码器信息。 然后,通过调用 IWMHeaderInfo3::AddCodecInfo来设置编写器中的编解码器信息,从而传递从读取器获取的信息。

使用输入