none
Media Foundation开发视频播放器的问题 RRS feed

  • 问题

  • 才开始接触MF,现在只是能播放视频,高级的操作还不会,我想问下:怎么获取视频的时间,还有视频的定时间点(比如02:00)播放,比如我点击一个按钮,不论视频播放到那个位置都从02:00开始播放。
    2014年3月21日 1:42

全部回复

  • 我找到这个接口了,但是显示未能找到类型或命名空间名称“IMFMediaEngine”,这是为什么?我需要添加什么程序集?
    2014年3月21日 3:54
  • 你好:

    请问你创建的是C++项目吗?如果是的话好像要添加一个引用:

    #include <mfmediaengine.h>

    如果使用IMFMediaEngine接口的话还需要创建一个实例:

    IMFMediaEngineClassFactory::CreateInstance method

    以下文档可能对你有帮助:

    Media Foundation SDK Samples


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年3月24日 10:01
    版主
  • 不是啊  我用的c# 添加了MediaFoundation.dll 难道这个dll里没有封装这个接口?
    2014年3月27日 2:17
  • 那你创建的是什么项目呢?你的播放器运行在什么平台上的呢?

    .net中暂时还没有提供对这个接口的托管代码支持,在C#语言中调用Media Foundation的话可能需要对其中的非托管代码进行一个封装,已经有一些现成的开源的项目,比如:

    Media Foundation .Net

    或者也可以考虑使用DirectShow来作视频开发。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年3月27日 3:01
    版主
  • 就是用VS创建的Winform项目呀,W7。

    在C#下我用这个MediaFoundation.dll现在只能完成最基本的播放、暂停、停止操作。我看了C++的是直接用的IMFMediaSession->Start方法,但是我尝试了用这个方法,但是用法和C#的不一样,我已执行这个方法画面就停止了。
    我才开始学习写视频播放器,想开始学就学最新的东西呀!前段时间简单的看过DirectShow,觉得和Media Foundation差不了多少呀,你开发过DirectShow么?

    2014年3月27日 7:07
  • 你好:

    微软并没有在Media Foundation方面提供托管代码的支持,请参考这篇微软博客中的Q&A:
    Calling the Format SDK, DirectShow, Media Foundation or the WASAPI from managed code (C#, VB.net)(http://blogs.msdn.com/b/mediasdkstuff/archive/2009/04/01/calling-the-format-sdk-directshow-media-foundation-or-the-wasapi-from-managed-code-c-vb-net.aspx

    你使用的"MediaFoundation.dll"应该是第三方的类库Media Foundation .NET是吧?执行这个方法画面停止有可能是这个类库的BUG,或者是对播放的视频文件的大小,格式或者分辨率等有一些限制。
    最好的办法就是到这个类库官方讨论区去寻求解决办法,本论坛不提供第三方类库的技术支持。

    建议你集成Windows Media Player到你的项目中:

    Embedding the Windows Media Player Control in a C# Solution


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2014年3月28日 8:09
    版主
  • 我之前用Windows media player基本能实现功能,但是在实现同一段视频(分辨率很大)跳转播放(跳转到指定时间点开始播放)的时候media player效果没有DXShow和MediaFoundation好,跳转后media player要等待约1s钟后才开始继续播放,而DXshow和mediafoundation时间较短。所以就想用DXshow或者MF写一个程序
    2014年3月31日 9:24