0

Windows Media Foundation を使用して単純なビデオを再生しようとしています。

残念ながら、これを行う方法に関するドキュメントはほとんどないようです。

実際に私はこれを達成するためにsharpDXバインディングを使用しています。しかし、C++ のサンプルについても満足しています。

ここに私がこれまでにこのチュートリアルに従おうとしてきたものがあります http://msdn.microsoft.com/en-us/library/windows/desktop/ms703190(v=vs.85).aspx

        MediaManager.Startup();

        MediaSession mediaSession;
        MediaFactory.CreateMediaSession(null, out mediaSession);

        SourceResolver sourceResolver;
        MediaFactory.CreateSourceResolver(out sourceResolver);

        ComObject comObject;
        ObjectType objectType;
        sourceResolver.CreateObjectFromURL("Jack.mp4", (int) SourceResolverFlags.None, null, out objectType, out comObject);

        Topology topology;
        MediaFactory.CreateTopology(out topology);

これはエラーなしで実行されますが、実際にビデオを見ることができるように、これをウィンドウまたはテクスチャにリンクする方法がわかりません。

4

2 に答える 2

1

Windows SDK には、次の場所に多数のメディア ファンデーション サンプル(C++) があります。

  • \Samples\multimedia\mediafoundation

たとえば、MFPlayer2 サンプルは、ビデオ ウィンドウにリンクするプレーヤーを作成します。

HRESULT MFPlayer2::Initialize(HWND hwndVideo)
{
   HRESULT hr = S_OK;

    SafeRelease(&m_pPlayer);

    hr = MFPCreateMediaPlayer(
        NULL,
        FALSE,          // Start playback automatically?
        0,              // Flags
        this,           // Callback pointer   
        hwndVideo,      // Video window
        &m_pPlayer
        );
于 2013-02-12T09:13:57.793 に答える