0

問題の説明は次のとおり
です。作業中のプロジェクトでビデオを再生できるようにしたいのですが... 最も簡単な方法は、PInvoke と winmm.dll を使用することでした。ファイルを開くために使用したコードは次のとおりです。

public void OpenFile()
    {
        if (!this.opened)
        {
            this.opened = this.paused = true;

            command = "open \"" + videoName + "\" type mpegvideo alias VideoPlayer";
            mciSendString(command, null, 0, IntPtr.Zero);

            command = "set VideoPlayer time format miliseconds";
            mciSendString(command, null, 0, IntPtr.Zero);

            command = "set VideoPlayer seek exactly on";
            mciSendString(command, null, 0, IntPtr.Zero);
        }
        else
        {
            this.CloseVideo();
            this.OpenFile();
        }
    }

ファイルを再生するためのコード:

command = String.Format("play VideoPlayer notify");
mciSendString(command, null, 0, IntPtr.Zero);

問題は、ビデオ ファイルを開いて再生するが、新しいウィンドウで開くことです。メソッドを呼び出したウィンドウで再生する方法はありますか?
msdn を検索してみましたが、これが見つかりましたlpszPlayFlagsの下を見ると、フラグウィンドウ

デバイス インスタンスに関連付けられたウィンドウを再生に使用する必要があることを指定します。これがデフォルト設定です。

そのフラグを使用しても、ビデオは新しいウィンドウで再生されます。明らかに、私は何か間違ったことをしています。誰かが私の間違いを知っていて、この「問題」を解決する方法を知っているなら、それは大歓迎です.
ありがとうございました!
よろしくお願いします。

4

0 に答える 0