18,141
社区成员




//如果数据格式不是整数或浮点则创建失败
switch (m_pwfDeviceFormat->wFormatTag)
{
case WAVE_FORMAT_IEEE_FLOAT:
m_eDeviceDataFormat = Data_Float;
break;
case WAVE_FORMAT_PCM:
m_eDeviceDataFormat = Data_Int;
break;
case WAVE_FORMAT_EXTENSIBLE:
{
WAVEFORMATEXTENSIBLE *pExt = reinterpret_cast<WAVEFORMATEXTENSIBLE*>(m_pwfDeviceFormat);
if ( KSDATAFORMAT_SUBTYPE_IEEE_FLOAT == pExt->SubFormat )
m_eDeviceDataFormat = Data_Float;
else if ( KSDATAFORMAT_SUBTYPE_PCM == pExt->SubFormat )
m_eDeviceDataFormat = Data_Int;
}
break;
default:
m_eDeviceDataFormat = Data_Unknown;
break;
}