C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

MediaPlayerでの総フレーム数取得

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■95774 / inTopicNo.1)  MediaPlayerでの総フレーム数取得
  
□投稿者/ としぞー (1回)-(2020/09/23(Wed) 11:26:14)

分類:[C#] 

axWindowsMediaPlayerでコマ送りを行い、1フレームごとにビットマップ画像として
保存したいと思ったのですが、フレーム数の取得の仕方が分からず・・・
コードは以下のようなものです。
「総フレーム数」を取得する方法はありますでしょうか?

mediaPlayer1.URL = "〜〜〜.mp4";

mediaPlayer1.Ctlcontrols.play();
mediaPlayer1.Ctlcontrols.currentPosition = 0;
mediaPlayer1.Ctlcontrols.pause();

for (int i = 0; i < 総フレーム数; i++) {
((IWMPControls2)mediaPlayer1.Ctlcontrols).step(1);

//ここで1フレームの画像保存
}

引用返信 編集キー/
■95775 / inTopicNo.2)  Re[1]: MediaPlayerでの総フレーム数取得
□投稿者/ Hongliang (1089回)-(2020/09/23(Wed) 12:23:35)
試せていませんが、事前に取得できなければならないということでなければ、step()するたびにcurrentPositionを確認して、前回と変わっていなければ末尾に達したと判断する、という方法はどうでしょうか?
引用返信 編集キー/
■95776 / inTopicNo.3)  Re[2]: MediaPlayerでの総フレーム数取得
□投稿者/ としぞー (2回)-(2020/09/23(Wed) 12:48:26)
No95775 (Hongliang さん) に返信

ありがとうございます。
試してみましたが、step(1)してもcurrentPositionが変わらない場合があるようです。
(3〜6回のstep(1)で変化する傾向)
10回くらい変わらなければ末尾に来たっていう判断もできそうですが、確実ではないですし・・・
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ