- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个媒体基础应用程序,我需要在其中设置视频设备的捕获帧速率。我写的函数是这样的:
bool SetRequestedFrameRate(const size_t requestedFramesPerSecond);
我在这里传递一个用户定义的整数作为帧速率参数。我正在关注 https://msdn.microsoft.com/en-us/library/windows/desktop/ff485859(v=vs.85).aspx 上的代码片段:
PROPVARIANT var;
if (SUCCEEDED(pType->GetItem(MF_MT_FRAME_RATE_RANGE_MAX, &var)))
{
hr = pType->SetItem(MF_MT_FRAME_RATE, var);
PropVariantClear(&var);
if (FAILED(hr))
{
goto done;
}
hr = pHandler->SetCurrentMediaType(pType);
}
显然它使用 PROVARIANT 结构来保存帧速率数据。但是如何从我的“const size_t requestedFramesPerSecond”参数构造一个 PROVARIANT 结构?如果我已经有一个保存帧速率的 PROVARIANT,我如何从中检索实际帧速率整数?另外,COM 是否提供了一种方法来比较表示帧速率的两个 PROVARIANT 结构?
请帮忙,谢谢!
最佳答案
正如 Roman 指出的那样,您可以避免处理 PROPVARIANT结构,通过使用实用函数访问 IMFAttributes店铺。然而,正如 #7 在 page you referenced 上指出的那样:
- Query the media type for the MF_MT_FRAME_RATE_RANGE_MAX and MF_MT_FRAME_RATE_RANGE_MIN attributes. This values give the range of supported frame rates. The device might support other frame rates within this range.
枚举捕获设备的 native 媒体类型,并简单地选择(选择一个)并将媒体类型重用到set the current media type .否则,您会对与捕获设备的功能不匹配的失败调用感到沮丧。我稍微讨论了帧速率并展示了如何枚举 native 媒体类型 here .祝你好运。
关于c++ - Media Foundation 使用 PROPVARIANT 结构设置视频捕获帧率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30899390/
我正在编写一个媒体基础应用程序,我需要在其中设置视频设备的捕获帧速率。我写的函数是这样的: bool SetRequestedFrameRate(const size_t requestedFrame
我是一名优秀的程序员,十分优秀!