IAudioInputEndpointRT::GetInputDataPointer 方法 (audioengineendpoint.h)
GetInputDataPointer 方法获取指向音频引擎将从缓冲区读取数据的指针。
语法
void GetInputDataPointer(
[in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
[in, out] AE_CURRENT_POSITION *pAeTimeStamp
);
参数
[in, out] pConnectionProperty
指向 APO_CONNECTION_PROPERTY 结构的指针。
调用方按如下所示设置成员值:
- pBuffer 设置为 NULL。
- u32ValidFrameCount 包含检索到的数据指针中需要包含的帧数。 终结点对象不得缓存此信息。 音频引擎可以根据其处理需求更改此数字。
- u32BufferFlags 设置为 BUFFER_INVALID。
- pBuffer 指向已读取数据的有效内存。 这可能包括静音,具体取决于 在 u32BufferFlags 成员中设置的标志。
- u32ValidFrameCount 保持不变。
- 如果数据指针包含有效数据,则 u32BufferFlags 设置为 BUFFER_VALID;如果数据指针仅包含无提示数据,则设置为BUFFER_SILENT。 缓冲区中的数据实际上不需要静音,但在 pBuffer 中指定的缓冲区必须能够保存 u32ValidFrameCount 中包含的所有静音帧,以匹配所需的帧计数。
[in, out] pAeTimeStamp
指向 AE_CURRENT_POSITION 结构的指针,该结构包含缓冲区中捕获的数据的时间戳。 此参数可选。
返回值
无
备注
此方法从终结点返回指向缓冲区 pConnectionProperty-pBuffer>的指针,其中包含需要作为输入传递到引擎的数据。 在调用 IAudioInputEndpointRT::ReleaseInputDataPointer 方法之前,数据和缓冲区指针必须保持有效。 终结点对象必须设置请求的信息量,并在不存在有效数据时插入静音。 终结点对象返回的缓冲区指针 pConnectionProperty-pBuffer> 必须对齐帧。 终结点不支持额外的空间,这些空间可能在与 pConnectionProperty 参数中传递的连接属性关联的APO_CONNECTION_PROPERTY中可用。
在 u32ValidFrameCount 成员中传递零是有效的请求。 在这种情况下,输入指针必须有效,但终结点不会从中读取。 pConnectionProperty-u32ValidFrameCount> 值必须小于或等于终结点支持的最大帧计数。 若要获取支持的帧数,请调用 IAudioEndpoint::GetFramesPerPacket 方法。
可以从实时处理线程调用此方法。 此方法的实现不得阻止、访问分页内存或调用任何阻塞的系统例程。
远程桌面服务音频终结点 API 用于远程桌面方案;它不适用于客户端应用程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 |
最低受支持的服务器 | Windows Server 2008 R2 |
目标平台 | Windows |
标头 | audioengineendpoint.h |