void GetAudioFormatsCount(IltmfCapture *pCapture)
{
IltmfAudioFormats *pAudioFormats;
IltmfAudioFormat *pAudioFormat;
int i;
long lCount;
long lFreq, lBits, lChannels;
long lFoundAt;
long lSelection;
VARIANT_BOOL bSelected;
// get the audio formats collection:
pCapture->get_AudioCaptureFormats(&pAudioFormats);
pAudioFormats->get_Count(&lCount);
for (i=0; i<lCount; i++)
{
// get the item at index I
pAudioFormats->Item(i, &pAudioFormat);
// do something with this item, like viewing its information:
pAudioFormat->get_SampleFrequency(&lFreq);
pAudioFormat->get_BitsPerSample(&lBits);
pAudioFormat->get_Channels(&lChannels);
pAudioFormat->get_Selected(&bSelected);
// view information...
// you may select the format if it matches some criteria:
if (lFreq == 8000 && lBits == 8 && lChannels == 1)
pAudioFormat->put_Selected(VARIANT_TRUE);
// free the item
pAudioFormat->Release();
}
// you might use the Find method to search for a specific format:
pAudioFormats->Find(16000, 16, 2, &lFoundAt);
if (lFoundAt != -1)
{
// do something with it:
// check if it is already selected, and if not, select it:
pAudioFormats->get_Selection(&lSelection);
if( lSelection != lFoundAt )
pAudioFormats->put_Selection(lFoundAt);
}
// free the audio formats collection
pAudioFormats->Release();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document