Миниатюрное изображение видео Silverlight - PullRequest
1 голос
/ 23 июня 2009

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

спасибо заранее, George

Ответы [ 2 ]

3 голосов
/ 23 июня 2009

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

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

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

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

Michael

1 голос
/ 24 июня 2009

Я согласен, что приведенный выше ответ работает, но он не может быть оптимальным для каждого сценария. Альтернативой этому может быть наличие определенного элемента управления изображением, который перекрывает 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>

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

...