本文整理汇总了C#中IPin.GetAllMediaTypes方法的典型用法代码示例。如果您正苦于以下问题:C# IPin.GetAllMediaTypes方法的具体用法?C# IPin.GetAllMediaTypes怎么用?C# IPin.GetAllMediaTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPin
的用法示例。
在下文中一共展示了IPin.GetAllMediaTypes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMinimumFreq
public AmMediaType GetMinimumFreq(IPin OutputPin)
{
AmMediaType[] types = OutputPin.GetAllMediaTypes();
IAMStreamConfig cfg = (IAMStreamConfig)OutputPin;
AmMediaType currentType = cfg.GetFormat();
WaveFormatEx currentWave = currentType.GetStruct<WaveFormatEx>();
ShowMsg(String.Format(
"CurrentOut: bps:{0} bit; ch:{1}, freq:{2} Hz",
currentWave.wBitsPerSample, currentWave.nChannels, currentWave.nSamplesPerSec
));
AmMediaType minimum = currentType;
foreach (AmMediaType type in types)
{
WaveFormatEx wave = type.GetStruct<WaveFormatEx>();
ShowMsg(String.Format(
"bps:{0} bit; ch:{1}, freq:{2} Hz",
wave.wBitsPerSample, wave.nChannels, wave.nSamplesPerSec
));
if (wave.wFormatTag == currentWave.wFormatTag &&
wave.nChannels == currentWave.nChannels &&
wave.wBitsPerSample == currentWave.wBitsPerSample &&
wave.nSamplesPerSec < currentWave.nSamplesPerSec)
{
minimum = type;
currentWave = minimum.GetStruct<WaveFormatEx>();
}
}
ShowMsg(String.Format(
"Selected: bps:{0} bit; ch:{1}, freq:{2} Hz",
currentWave.wBitsPerSample, currentWave.nChannels, currentWave.nSamplesPerSec
));
return minimum;
}