IApoAuxiliaryInputConfiguration::IsInputFormatSupported 方法 (audioenginebaseapo.h)

验证 APO 是否支持特定的辅助输入格式。

语法

HRESULT IsInputFormatSupported(
  IAudioMediaType *pRequestedInputFormat,
  IAudioMediaType **ppSupportedInputFormat
);

参数

pRequestedInputFormat

要验证的输入格式。

ppSupportedInputFormat

APO 使用最接近传入方法的格式的支持输入格式填充此参数。

返回值

HRESULT

HRESULT 说明
S_OK 成功完成。 APO 应添加对 pRequestedInputFormat 的引用,并在 ppSupportedInputFormat 中返回它
S_FALSE 不支持格式。 APO 应返回 ppSupportedInputFormat 中建议支持的格式
APOERR_FORMAT_NOT_SUPPORTED 不支持格式。 APO 不应修改 ppSupportedInputFormat
E_POINTER 传递给此函数的指针无效。
其他值 另一个组件导致故障。 系统跟踪这些故障。

注解

如果 APO 可以接受请求的格式,则应添加对所请求格式的引用,将此作为支持的输出格式返回,并返回S_OK。

如果 APO 无法接受请求的格式,它可能会建议备用请求的格式。 在这种情况下,它应创建并返回建议的格式,并返回S_FALSE。

返回的支持格式应“最接近”请求的格式,这意味着格式对于以下属性(按优先级顺序指定)应具有相同的值。

  • 示例格式
  • 位深度
  • 通道数
  • 采样率

仅当返回S_FALSE时,建议的格式可能与请求的格式不同。 返回任何失败时,建议的格式应保持不变。

可以随时调用此 API。 返回的结果将取决于可由外部用户界面操作的 APO 的内部状态。 但是,锁定 APO 进行处理后,此格式不能也不会更改。

不能从实时处理线程调用此方法。

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
标头 audioenginebaseapo.h