2009-06-23 4 views

Antwort

3

die Media, dass der Video-Player an der aktuellen Position ein Miniaturbild des Rahmens zeigt verwendet. Andernfalls erstellen Tools wie Expression Encoder Miniaturbilder (JPEGs oder PNGs), die für die Video-Thumbnails und Kapitelmarkierungen verwendet werden.

Dies wird das erste Bild des Bear.wmv Videos zeigen und spielt nicht automatisch:

<Grid x:Name="LayoutRoot" Background="White"> 
    <MediaElement AutoPlay="False" Source="Bear.wmv"/> 
</Grid> 

Wenn Sie die Zeit wussten, dass die Miniatur herkommt, können Sie ein sekundäres Mediaelement mit Strom haben Position mit dieser Zeit. Wenn die Wiedergabe beginnt, würden Sie ihre Sichtbarkeit reduzieren.

Michael

+0

Danke! Ich möchte lernen, wenn ich Auto-Playback zu false mache, wie man das Mediaelement zum Zeitpunkt 00:00:00 anzeigen lässt? – George2

+0

@ George2 Ich denke, Michael's Antwort ist großartig. Legen Sie die Position -Eigenschaft des MediaElement auf etwas nach dem Start (Timespan.FromMilliseconds (100)) oder etwas, und Sie sollten das Thumbnail abrufen. Autoplayback sollte die Miniaturansicht nicht beeinflussen. –

+0

Ich habe gerade einen Code hinzugefügt, um anzuzeigen, wie der erste Frame angezeigt wird. –

1

Ich bin damit einverstanden, dass die oben genannte Antwort funktioniert, aber es ist vielleicht nicht für jedes Szenario optimal. Eine Alternative dazu wäre, ein bestimmtes Bildsteuerelement zu haben, das das mediaElement überlagert und dessen Sichtbarkeit an eine "IsPlaying" -Eigenschaft gebunden ist. Sie müssten die Eigenschaft "IsPlaying" erstellen.

Etwas wie folgt aus:

<Grid x:Name="LayoutRoot" Background="White"> 
     <MediaElement AutoPlay="False" Source="Bear.wmv"/> 
     <Image Source="Thumbnail" Visibility="{Binding Path=IsPlaying, Converter={StaticResource BooleanToVisibilityConverter}} /> 
</Grid> 

Nur eine alternative Lösung. Sie sehen beide wie Hacks aus, aber das ist der spaßige Teil von dem, was wir tun!

Verwandte Themen