我正在尝试使用 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/