audio - 媒体基金会 IMFMediaSource::CreatePresentationDescriptor 调用永无止境

标签 audio com directx ms-media-foundation

我正在尝试使用 Media Foundation 播放 mp3 文件,但在获取 PresentationDesctiptor 时遇到问题使用 CreatePresentationDescriptor方法

我在做什么:

  • 使用 MFStartup 启动 MF
  • 使用 MFCreateMediaSession 创建 session
  • 使用 MFCreateSourceResolver 创建 SourceResolver
  • 使用 CreateObjectFromURL 创建 MediaSource来自 SourceResolver
  • 使用 MFCreateTopology 创建拓扑
  • 尝试使用 CreatePresentationDescriptor 创建 PresentationDescriptor来自媒体源

  • 当我调用 CreatePresentationDescriptor没有发生错误/异常,它只是站在那里,什么也不做。当我暂停 Visual Strudio 时,它表明程序仍在等待方法完成。我究竟做错了什么 ?

    最佳答案

    我没有提到我为此使用 C#(不认为这是相关的)

    问题是在 C# 中导入 com 接口(interface)时,您需要导入接口(interface)的所有方法,而不仅仅是那些被调用的方法。某些方法可以调用未导入的方法并导致未报告给 Visual Strudio 调试器的访问冲突,因此似乎方法从未完成调用。

    关于audio - 媒体基金会 IMFMediaSource::CreatePresentationDescriptor 调用永无止境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289216/

    相关文章:

    audio - 媒体时间线应用程序如何在后台工作?

    .net - 引用程序集中的 Com 可见性

    c# - CoCreateInstance 失败,返回 0x80131500

    javascript - 音频持续时间返回 NaN

    ios - Xcode 有什么方法可以提高音频播放质量吗?

    java - HTML 音频标签在 apache tomcat 的 localhost 中不起作用

    c++ - 将 COM dll 与非托管 C++ 一起使用

    c++ - 网格表示 - 一个顶点(空间位置)= 一个位置,tex 坐标,法线?

    opengl - 任何人都可以解释 "field of view"

    math - 矩阵乘法 - View /投影、世界/投影等