2009-06-23 4 views
1

Для популярного видеоплеера, такого как sl2videoplayer, http://www.codeplex.com/sl2videoplayer, мой вопрос заключается в том, как отображать уменьшенное изображение изображения Siverlight до того, как мы нажмем play (в сценарии неавтоматического воспроизведения).Миниатюрное изображение видео Silverlight

спасибо заранее, Джордж

ответ

3

MediaElement, что Video Player использует покажет уменьшенное изображение кадра в текущей позиции. В противном случае такие инструменты, как Expression Encoder, создают миниатюрные изображения (JPEG или PNG), которые будут использоваться для миниатюр видео и маркеров глав.

Это покажет первый кадр видео Bear.wmv и не будет играть автоматически:

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

Если бы вы знали, что время миниатюра приходит, вы могли бы иметь вторичный MediaElement с течением Позиция, имеющая это время. Когда начнется воспроизведение, вы уменьшите его видимость.

Майкл

+0

Спасибо! Я хочу узнать, если я делаю автовоспроизведение ложным, как позволить элементу мультимедиа отображать thunbnail во время 00:00:00? – George2

+0

@ George2 Я думаю, что ответ Майкла велик. Задайте свойство Position для MediaElement чем-то после начала (Timespan.FromMilliseconds (100)) или что-то еще, и вы должны получить миниатюру. Автовоспроизведение не должно влиять на миниатюру. –

+0

Я просто добавил код, чтобы показать, как отображать первый кадр. –

1

Я согласен, что выше ответ работает, но это не может быть оптимальным для каждого сценария. Альтернативой этому было бы иметь определенный элемент управления изображением, который накладывает mediaElement и имеет видимость, связанную с свойством IsPlaying. Вам нужно будет создать свойство IsPlaying.

Что-то вроде этого:

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

Только альтернативное решение. Они оба кажутся немного хаками, но это забавная часть того, что мы делаем!