以下是 IAudioProcessingObject 接口的一些可能的方法和信息:
#include <Audioenginebaseapo.h>
// IAudioProcessingObject interface
DECLARE_INTERFACE_(IAudioProcessingObject, IUnknown)
{
// Retrieves the object's processing mode.
STDMETHOD_(APO_CONNECTION_PROPERTY*, GetInputChannelCount)(THIS) PURE;
// Retrieves the count of output channels.
STDMETHOD_(APO_CONNECTION_PROPERTY*, GetOutputChannelCount)(THIS) PURE;
// Processes input audio data and produces output audio data.
STDMETHOD(Initialize)(THIS_
_In_ ULONG cbDataSize,
_In_reads_bytes_(cbDataSize) BYTE* pbyData) PURE;
// Releases resources associated with the processing object.
STDMETHOD(Reset)(THIS) PURE;
// Processes input audio data and produces output audio data.
STDMETHOD_(ULONG, Process)(THIS_
_In_reads_(nNumInputConnections) const APO_CONNECTION_PROPERTY* pInputConnections,
_Inout_updates_(nNumOutputConnections) APO_CONNECTION_PROPERTY* pOutputConnections,
_Inout_updates_(nNumFrames) FLOAT32* pInputFrame,
_Out_writes_(nNumFrames) FLOAT32* pOutputFrame,
_In_ ULONG nNumInputConnections,
_In_ ULONG nNumOutputConnections,
_In_ ULONG nNumFrames,
_In_ DWORD dwFlags) PURE;
};
请注意,上述代码中的接口定义和方法是根据一般的音频处理对象的接口结构进行的估计,实际的定义可能会有所不同。要获取确切的信息,请查阅最新的 Microsoft 官方文档或 Windows SDK 文档。
转载请注明出处:http://www.zyzy.cn/article/detail/23907/Win32 API/Audioenginebaseapo.h/IAudioProcessingObject