验证 APO 是否支持特定的辅助输入格式。
Syntax
HRESULT IsInputFormatSupported(
IAudioMediaType *pRequestedInputFormat,
IAudioMediaType **ppSupportedInputFormat
);
参数
pRequestedInputFormat
要验证的输入格式。
ppSupportedInputFormat
APO 使用最接近传入方法的格式的受支持输入格式填充此参数。
返回值
HRESULT
| HRESULT | Description |
|---|---|
| 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 锁定进行处理,此格式将无法且不会更改。
不能从实时处理线程调用此方法。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 内部版本 20348 |
| Header | audioenginebaseapo.h |