Microsoft Surface Hub (タッチ デバイス) 用の Winform アプリを設計しました。
概要:
- フォーム 1は、ユーザーがアプリケーションを中断するまで、単一のビデオ (axWindowsMediaPlayer) をループ再生する導入フォームです。
- ユーザーがアプリケーションを中断すると、 の
axWindowsMediaPlayer
再生が停止し、 を使用してフォーム 2、つまりメニューフォームが前面に表示されますthis.BringToFront()
。フォーム 2はファイルを表示し.swf
ます。フォーム 2 には、選択できるさまざまなオプションが含まれています。 - フォーム 2 からオプションを選択すると、ユーザーはフォーム 3にリダイレクトされます。フォーム 3は、ユーザーの選択に応じて
axWindowsMediaPlayer
またはのいずれかになります。.swf
今のところ8media
ファイルと2.swf
ファイルあります。 - ユーザーは、現在のオプションから次/前のオプションに切り替えることができます。注記:メディアの終了後も自動切り替えは有効になりません。
注:sendToBack()
と を使用してフォームを切り替えますBringToFront()
ファイルの再生中に何が起こるかとaxWindowsMediaPlayer
いうと、メディアの終了後に黒い画面が表示されます。
私が望むのは、アプリケーションが最後のフレームをキャプチャし、メディアが終了した後に黒い画面ではなくそのフレームを表示することです。または、最後のフレームに到達したらメディアを一時停止します。
C#を使用してこれを達成するにはどうすればよいですか
PS:これについて多くの質問を見てきましたが、ほとんどすべてに受け入れられた答えがなく、どのテクニックも機能していないようです
編集1:使ってみた
axWindowsMediaPlayer.currentMedia.duration
そして、私のケースを助けなかったいくつかのこと。