波形捕获:(5)“捕获缓冲区”信息
你可以利用IDirectSoundCaptureBuffer8::GetCaps要领获取"捕获缓冲 区"的巨细。在利用 DSCBCAPS 布局体做为参数通报前,确保已经对该布局 体的 dwSize 成员举办了初始化。
想要获取缓冲区建设时的名目信息,可以挪用 IDirectSoundCaptureBuffer8::GetFormat要领。该要领以一个WAVEFORMATEX结 构体的形式返回名目信息。
留意:你的应用措施可以或许答允因第一次利用NULL作为 pwfxFormat 参数挪用 这个 GetFormat 要领时 WAVEFORMATEX 布局体中存在特另外名目信息。在这种 环境下,由 lpdwSizeWritten 参数所指向的 DWORD 需要完整的名目信息才气接 收到这个布局体的巨细。
想要探知一个捕获缓冲区当前正在处理惩罚的操纵,可以挪用 IDirectSoundCaptureBuffer8::GetStatus要领。这个要领操作相团结的符号位 来填充一个 DWORD 范例的变量。这些符号位用于表白缓冲区当前是否忙于捕获 ,假如是的话,那么是否轮回;假如轮回,那么在最后一次挪用 IDirectSoundCaptureBuffer8::Start要领时 DSCBSTART_LOOPING 符号是否被设 置。
IDirectSoundCaptureBuffer8::GetCurrentPosition 要领返回读指针和捕获 指针在缓冲区内的偏移量。读指针位于当前已经被完全捕获到缓冲区的数据末端 。捕获指针位于当前将要从硬件中复制的数据块的末端。你可以安详地从小于读 指针偏移量的缓冲区中拷贝数据。