Сегодня разговор пойдет о видео файлах и работе с ними. Silverlight имеет очень широкие возможности создания простых видео плееров, и интересных интерактивных эффектов с использованием видео. После появления Silverlight стало возможным отображать высококачественное потоковое видео, чем в то время не мог похвастаться Flash, но с приходом Flash 9 ситуация выровнялась. Но так ли это на самом деле давайте посмотрим.
И так приступим, к созданию простого приложения, которое будет отображать наше видео. Чтобы создать такое приложение вам необходимо использовать Blend Studio, а также необходимо, чтобы был установлен видео плеер Windows Media Player не ниже 10 версии, иначе Blend Studio не даст вам создавать видео (MediaElement будет выдавать соответствующее предупреждение), к сожалению, в данный момент MediaElement поддерживает только три видео формата wmv, asx, asf и два аудио mp3, wma. Думаю в будущем будет обеспечен более богатый набор видео форматов. Но пока Blend Studio при попытке использовать не соответствующий формат, и даже иногда с некоторыми файлами *.wmv вылетает с Exception – ом, думаю этот баг они тоже исправят в будущих версиях. Ну пока посмотрим как все это работает.
Темплейт – это заранее подготовленный шаблон, определяющий общий вид объекта, который можно применить к множеству объектов, что позволяет достичь гибкости и быстроты управлением внешним видом объектов, чего иногда не позволяет сделать стили.
Стили имеют ограниченные возможности изменения внешнего вида объекта, если хотите полностью изменить внешний вид объекта без применения методы и событий объектов, вам необходимо использовать темплейты.
Наверно в современном компьютерном мире всем знакомо понятие стиля. Особенно это понятие близко, тем, кто работает и бывает в Интернете. И так Что такое стиль? Стиль – это общее представление объекта в пространстве включающие его визуальные свойства, а также его положение в пространстве или положение относительно его родительского контейнера. И так для чего же нужны стили? Стили нужны для того, чтобы упростить управление свойствами отображения объектов, которые имеют общие свойства. Для этого общие свойства объединяются в один стиль и применяются к определенному типу объектов. Если брать антологию в WEB – это HTML и CSS. Для легкого управления видом страницы используют каскадные таблицы стилей, что не только упрощает разработку, но так же делает код оптимальным, освобождая его от лишних тегов, и позволяет сделать его более понятным.
И так попробуем понять, зачем нужно использовать стили, как их применять, и в чем их преимущество.
Silverlight 1.0 позволяет создавать интерактивные эффекты, и менять свойства объектов используя JavaScript.
Silverlight 1.0 позволяет вызывать JavaScript функции, когда наступает какое либо событие например загрузка объекта или событие при наведении мыши.
Для того, чтобы определить обработчик события необходимо проделать следующие шаги:
1) В вашем XAML файле определить необходимый атрибут для вашего объект, который будет указывать функцию, которая будет обрабатывать событие.
someEvent = ‘YourFunction», где someEvent – какое-то событие доступное для вашего объекта, а YourFunction JavaScript функция, которая будет обрабатывать ваше событие
2) Необходимо определить вашу функцию (YourFunction) в JavaScript файле
Сегодня мы с вами рассмотрим взаимодействие SilverLight и JavaScript. Рассмотрим это на простом примере, мы создадим просто текстовое поле и текстовый блок. При нажатии будет вызываться функция JavaScript и выскакивать сообщение, что мы в данный момент нажали.
Итак заходим сново уже в привычный для нас интерфейс Expression Blend, создаем новый проект. Затем создаем текстовый блок и прямоугольник ввиде окантовки к нашему тексту… В итоге xaml должен выглядеть следующим образом:
Ну что продолжим с вами знакомиться с практической частью создания Silverlight. И так как я отношусь по большой части к дизайнером, то больше всего меня интересует создание анимации, чем сегодня с вами и займемся. Так как мы только знакомимся с вами с этой программой, то сегодня попробуем сделать с вами очень простую анимацию в буквально несколько кадров.
Запускаем наш Expression Blend 2, создаем новый проект (кто не занеет как, смотрим тут). Выбираем инструмент – Перо, и рисуем кривую похожую на морскую волну
Затем откройте вкладку Properties, и выберите для заливки соответствующий синий цвет, у нас же все-таки волна должна получиться.
Сейчас перейдем непосредственно к анимации, для этого в панели Object and TimeLine выбираем Create new Storyboard, нажав для этого «+». В появившемся окне вводим название нашей шкалы,снимаем галочку с пункта Create as a Resource и нажимаем кнопку ОК.
В панели Object and TimeLine мы видим, что появилась временная шкала (напоминает шкалу во Flash). Выбираем инструмент Direct Selection, перетягиваем ползунок на 1, и деформируем нашу волну, после этого опять перетягиваем, ползунок на значение 0, и нажимаем кнопку Record Keyframe, видим что появилось два кадра.
Выделяем нулевой кадр копируем его и перетягивает шкалу на значение – 2, и вставляем туда первый кадр, можем сейчас попробывать проиграть анимацию. Однако у нас анимация прогрывается только один раз, чтоб поставить ее на зацикливание кликаем по наше шкале (на название шкалы – в нашем случае Wave), выделив ее, и в закладке Properties в поле RepeatBehavior вписываем значение Forever.
Просматриваем нашу анимацию в браузере, чтобы сделать анимацию более реальной, можно выделить все ваши кадры и в окне Easing перетянуть ползунки, так чтоб анимация выглядела более реально.
Ну вот и произошло наше первое знакомстов с анимацией в SilverLights, с чем собственно всех и поздравляю)
Ну вот и пришло время практики.. Сегодня мы немного потренируемся и попробуем сотворить чего Silverlight-оского ;)
Начало статьи тут….
Итак начнемс, вы уже должны были скачать и установить Expression Blend, если Вы этого не сделали, то смотрим тут, что и как необходима скачать и установить.
Запускаем Microsoft Expression Blend, кликаем New Project, и конечно выбираем SilverLight Application, указав папку в которой будут храниться исходники.
Выберите ОК, и новый проект будет создан.
Структура вполне стандартная, и думаю кто работал с различными графическими редакторами, как Flash, разобраться будет не сложно. Единственное в верхнем углу расположено меню доступа к основным файлам проекта.
Т.е. проект содержит по умолчанию HTML страницу, код JavaScript содержащейся на этой странице, XAML документ. Silverlight.js содержит код загрузки и иллустрирует пример управления SilverLight. Он представлен как часть Silverlight SDK. Default.html – стандартная Web страница. Она содержит три ссылки на JavaScript, указывающие на Silverlight.js, Default.html.js , и Scene.xaml.js (который содержит обработчик событий определенных в XAML).
Итак мы займемся с вами созданием UI для Video Player.
Добавьте любой видео файл к вашему проекту. Чтобы сделать это, щелкните правой кнопкой мышки на Project Files в верху экрана, и выберите Add Existing Item… Выбираем любой видеофайл (Добавляем WMF и версия Microsoft Windows Player должна быть не ниже 10) и нажимаем ОК
Файл появится в Project Explorer, и, Медиа элемент будет добавлен на главную страницу. Вы можете теперь просмотреть ваш проект в браузере, который воспроизведет ваше видео! Также можно остановить автоматическое воспроизведение видео, редактируя XAML. Выберите XAML (из двух:Design&XAML) таблицу, откроется окно редактирования XAML. Просто нужно лишь отредактировать тег MediaElement, и установите атрибут AutoPlay=False.
Запускаем – смотрим, все работает!
Добавьте два текстовых блока на поле с текстом и соответственно Stop и назовите их Play_txt и Stop_txt, после этого ваш XAML файл дожен выглядеть следующим образом (что самое удобное, ошибки видны сразу на панели Errors).
Затем добавьте описание обработчика событий для блоков текста в XAML. Для этого используется свойство MouseLeftButtonDown (интуитивно понятно, что действует по нажатию левой клавиши мыши).
Итак для Play_txt добавляем действие DoPlay, для Stop_txt – DoStop, и соответственно участок с текстом в XAML выглядет следующим образом:
Теперь когда пользаватель щелкнет мышкой по одному из текстовых блоков, мы сможем обработать это событие при помощи JavaScript. Обработка Событий в JavaScript записывается здесь Page.xaml.js.
Так как мы определили функции по нажатию, как DoPlay и DoStop, запишим их соответсвенно в Page.xaml.js. Код должен выгдедеть следующим образом:
function DoPlay(sender, eventArgs)
{
var theHost = document.getElementById("SilverlightControl");
var theMedia = theHost.content.findName("YouRoll_wmv");
theMedia.Play();
}
function DoStop(sender, eventArgs)
{
var theHost = document.getElementById("SilverlightControl");
var theMedia = theHost.content.findName("YouRoll_wmv");
theMedia.Stop();
}
Все можем тестировать. Нажимаем на текстовый блок – ролик начинает проигрываться, нажимаем на Stop – останавливается. Поздравляю мы сделали первый проект при помощи Silverlight!!!
Ну давайте сегодня ознакомимся с основными требованиями по установке, и выясним основные этапы инсталяции SilverLight:
1. Проверьте свои системные требования:
Удостоверьтесь, что вы устанавливаете Silverlight – совместимый с операционной системой Windows и браузером и что у вас неустановленна любая предыдущая версия Silverlight или «WPF/E».
2. Download Silverlight
Щелкните на ссылку ниже, чтобы перейти на инсталляционную страницу Silverlight , затем чтобы начать кликните кнопку Install Now.
Для пользователей Windows Internet Explorer:
как произвести инсталляцию.
Браузер Internet Explorer попросит у Вас или загрузить или сохранить инсталляционный файл (Silverlight.1.0.exe). Щелкните Run, чтобы начать загрузку. Когда загрузка закончена, браузер попросит Вас снова загрузить инсталлятор. Щелкните Run, чтобы начать установку. Обратите внимание, что у Вас должны быть достаточные административные права для установки Silverlight.
Для пользователей Mozilla Firefox:
как произвести инсталляцию. Сохраните Silverlight.1.0.exe на ваш жесткий диск. Как только загрузка закончится, щелкните Open. Инсталляция начнётся.
Если у Вас установленна ОС Windows Vista,то у вас запросят дополнительные разрешения безопасности. Чтобы продолжить, Вы должны одобрить действие.
Инсталлятор тогда продолжит установку.
После успешного завершения в Internet Explorer, страница браузера будет автоматически обновлена. В Firefox, Вам нужно будет повторно запустить браузер. Теперь Вы можете начать работу с Silverlight.