ロゴ メインコンテンツへ
RSSフィード
「ソフトウェア開発」に関連する記事一覧

[WPF]MediaElementで動画のサムネを表示する

2021/07/24
(この記事の文字数: 533)

System.Windows.Controls.MediaElement で動画のサムネールをツール上に表示したいなぁと思ったんですが、以下のように単純に MediaElement を配置してみると、即座に動画が再生されてしまいました。

<MediaElement Source="{Binding Path}" />

調べて見ると、LoadedBehavior というプロパティがあり、このプロパティの値に Stop や Pause がありました。しかし、Stop や Pause にすると真っ黒なサムネールになってしまいました。やりたいのは動画の1フレーム目のサムネールを表示することです。

最終的には以下のページでこれに対する解決策を発見しました。

https://stackoverflow.com/questions/17782876/wpf-c-sharp-media-element-show-first-image-of-video

具体的には以下のようなコードにしたらMediaElementを使って1フレーム目のサムネールを表示する事ができました。

.xaml
<MediaElement Source="{Binding Path}" LoadedBehavior="Manual" Loaded="MediaElement_Loaded" />

.xaml.cs
private void MediaElement_Loaded(object sender, RoutedEventArgs e)
{
    var mediaElement = (MediaElement)sender;
    mediaElement.ScrubbingEnabled = true;
    mediaElement.Play();
    mediaElement.Pause();
}

元のページの方では Play の部分を Position プロパティに 0 を表す TimeSpan を設定しても実現できると記載されていますので、そちらでも良いかもしれません(私は試していません)。


  このエントリーをはてなブックマークに追加  

<<「ソフトウェア開発」の記事一覧に戻る

<<「ソフトウェア開発」の次の記事
「ソフトウェア開発」の前の記事 >>

コメント(0 件)



コンテンツロード: 0.0047 sec
Copyright(C)2006-2024 puarts All Rights Reserved