На этом уроке мы будем переключать карточки и воспроизводить медиа-файлы.
Задание: Написать программу для изучения английских слов.
Дата отправки отчёта:
3 августа 2017 г.
Задание выполнено: за
4 час. 00 мин.
Чему научился:
Так как я делал в WPF, то научился пользоваться элементом MediaElement :) Ещё для получения словарной карточки я использовал анонимные Tuple из C# 7.0
Что было сложным:
Сложным было подобрать костыль для отслеживания состояния плеера в WPF :)
Комментарии:
Я дополнил концепцию плеера из урока отключающимися кнопками пролистывания если дальше нет больше карточек и отключением плеера при повторном клике. Если интересно, как это выглядит на WPF, то по ссылке архив PuzzleEnglish.rar
Архив проекта:Ссылка доступна после самостоятельного выполнения этого урока
Научился: работа с медиа плеером,обработка файлов по директориям,работа с текстами в файлах. кнопки при воспроизведении видео работают на переключение,не придумал как их заблокировать во время воспроизведения видео
Научился: Боле менее следить и держать весь проект в голове. Гуглить альтернативные решения, ответы на ошибки компилятора. Добивать проект до конца после многочасовой работы.
Уже 13 часов, а встал я в 19 часов прошлого дня. Это вторая задача за это время + перерывы на еду и отвлечение. Трудности: Разобраться с компонентом vlc плеера и правильно задать ему путь к файлу + выставить опции компиляции и интеграции. Плохо, что изначально не было карты с переменными и функциями, чтобы понимать заранее, как будет устроена программа. Иначе уже из головы вылетает, какие типы данных приходят
У меня стоит 8.1, обработанная winreducer перед установкой. Медиаплеер с его хламом был удален, как и многие компоненты. Отдельно он не устанавливается, т.к. просто не существует. Поэтому было решено найти альтернативу и она нашлась в виде activex vlc.
Потрачены часы на поимку ошибок и разбор с правильным формированием пути к файлу.
Путь к файлу начинается с указания протокола file:/// и только потом идет имя файла.
file:///d:\\aaa\\bbb\\ccc.mp4" Не перепутайте слеши, а то они аж в глазах мелькают.
Компонент добавляется как обычно + нужно добавить ссылки (references). В solution explorer есть пункт references, там правой кнопкой мыши "add reference", в разделе com найти поиском vlc.
После этого добавятся 2 ссылки.
Потом в коде form1.cs надо добавить using AxAXVLC;
Потом самое главное - выставить настройки компиляции в свойствах проекта, раздел build. Для дебага и релиза надо указать платформу х86 в platform target. У кого система 64, нужно принудительно компилировать 86, т.к. обертка для длл влц есть только 32бит.
Второй шаг - свойства линковки.
В solution explorer в разделе preferences есть 2 ссылки AxAXVLC и AXVLC. Правой кнопкой мыши выбрать свойства и там в embed interop tipes поставить false. А копировать локально - true.
После компиляции в папке с .ехе будут 2 файла: Interop.AXVLC.dll и AxInterop.AXVLC.dll Это обертки для axvlc.dll, что лежит в папке самого влц и является activex компонентом. При установке плеера надо выбрать там этот компонент для браузера internet explorer.