Разработка тренажёров и обучающих программ

Автор: Пользователь скрыл имя, 20 Ноября 2014 в 22:02, курсовая работа

Краткое описание

Цель разработки: создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных .avi файлах.
Результатом разработки является программная реализация специализированного видео проигрывателя и оформление его в виде прикладного приложения в среде Visual C++ 2003 .NET, а также построение специализированного модуля для воспроизведения и управления воспроизведением .avi файлов.

Оглавление

Введение.............................................................................................2

1. Эскизный проект.............................................................................3
1.1 Концептуальная модель системы………………………………….3
1.2 Методика реализации визуализации ИМС …............................4
1.3 Методика реализации пользовательского интерфейса .............4

2. Технологический проект.................................................................5
2.1 Технология разработки модулей программы ……….................5
2.2 Разработка модулей ………………………………........................5
2.2.1. Разработка модуля воспроизведения …………….............5
2.2.2. Разработка модуля пользовательского интерфейса..........9

3. Руководство программиста.............................................................11
3.1 Назначение и условия применения программы..........................11
3.2 Входные и выходные данные.....................................................11

Заключение.........................................................................................12

Файлы: 1 файл

Пояснтельная записка.doc

— 202.50 Кб (Скачать)

 


 


СОДЕРЖАНИЕ

Реферат……………………………………………………………………….1

Введение.............................................................................................2

 

1. Эскизный проект.............................................................................3

    1.1 Концептуальная модель системы………………………………….3

    1.2 Методика реализации визуализации ИМС …............................4

    1.3 Методика реализации пользовательского интерфейса .............4

 

2. Технологический проект.................................................................5

   2.1 Технология разработки модулей программы ……….................5

   2.2 Разработка модулей ………………………………........................5

         2.2.1. Разработка модуля воспроизведения …………….............5

         2.2.2. Разработка модуля пользовательского интерфейса..........9

 

3. Руководство программиста.............................................................11

   3.1 Назначение и условия применения программы..........................11

   3.2 Входные и выходные данные.....................................................11

 

Заключение.........................................................................................12

Список использованных источников..................................................13

 

Приложение 1.Листинг модуля воспроизведения playwnd.h...............14

Приложение 2.Листинг модуля воспроизведения playwnd.cpp............16

 

 

Реферат

 

Объем пояснительной записки составляет: 26 МП листа формата А4., ИЛ2.Использованных источников - 4.

 

КЛЮЧЕВЫЕ СЛОВА: DirectShow, DirectX, IGraphBuilder, IMediaControl, видеоизображение, интерфейс, информационные мультимедиа системы, кодек, пиксель, скорость воспроизведения, цветовая гамма.

 

Цель разработки: создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных .avi файлах.

Результатом разработки является программная реализация специализированного видео проигрывателя и оформление его в виде прикладного приложения в среде Visual C++ 2003 .NET, а также построение специализированного модуля для воспроизведения и управления воспроизведением .avi файлов.

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

Основное применение приложения заключается в представлении информации о кафедре ВТ и АСУ для всех желающих.

 

ВВЕДЕНИЕ

 

Количество систем, предоставляющих возможность создания информационных мультимедиа систем (далее ИМС) достаточно велико. Областью применения подобных программ является такая обширная сфера деятельности, как образование создание видеоконференций и презентаций. В больших программных комплексах такого рода проигрывание видео информации является лишь одной из услуг, предоставляемых разработчиками.

На сегодняшний день широко известными системами создания ИМС являются PowerPoint, Dream viewer, 3DS Max, Alias Wave Front Maya, Adobe Premiere и Macromedia Flash. Они предоставляют пользователю возможность установки, настройки и конфигурирования программного обеспечения, позволяющего создавать мультимедиа приложения для различных сфер деятельности, а также создавать полноценные видеоролики с трёхмерной графикой.

В курсовом проекте для реализации информационной мультимедиа системы был выбран принцип модульности и применен  таким образом, что оболочка программы разрабатывается независимо от подключаемых модулей декодирования видео информации. Модульность ведёт к упрощению разработки системы в целом, а также способствует уменьшению ошибок при соединении модулей в систему, вследствие того, что компиляция и тестирование отдельных модулей производится независимо от остальных модулей. Использование специально разработанного алгоритма, на основе технологии DirectShow, проигрывания видео информации позволяет добиться достаточного быстродействия при среднем аппаратном обеспечении и отсутствия установки, что позволяют говорить об относительной универсальности системы по сравнению с ИМС, выполненными с помощью рассмотренных ранее средств. Разработка модуля воспроизведения на основе интерфейсов DirectShow и документации по DirectX SDK делает работу несложной и увлекательной.

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

 

1 ЭКСКИЗНЫЙ ПРОЕКТ

 

        1.1 Концептуальная  модель системы

Концептуальная модель разрабатываемого приложения представляет собой структуру ключевых абстракций предметной области и механизмов взаимодействия системы, разрабатываемой в рамках объектно-ориентированного подхода, и включает в себя:

1)Подсистема визуализации работы оболочки программы    (модуль взаимодействия с пользователем);

2) Подсистема декодирования видео данных;

3) Подсистема кодирования видео данных;

Схематичное изображение работы данной системы представлено на рисунке 1.


            поток команд

   поток команд

 

     поток д.д.

    

 

поток

файлов        поток д.д.

 

 

 

 

Рисунок 1 – Функциональное взаимодействие внутренних структур графической подсистемы DirectShow и программной оболочки проекта.

 

Основой взаимодействия компонентов является передача совместно используемых данных между объектами посредством ссылок и указателей на объекты.

В первом приближении сценарий работы обучающей мультимедиа системы:

  1. Принять запрос пользователя, как реакцию на изменение или выбор того, или иного визуального компонента программы (нажатие кнопок выбора ролика, проигрывания, останова, отключения звука, закрытия приложения, развёртки на весь экран);
  2. В соответствии с выполненным пользователем действием, сгенерировать сообщение.
  3. Вызвать функцию обработчик по карте сообщений в соответствии с поступившим сообщением;
  4. Передать видео данные модулю декодирования, предоставляемого операционной системой.
  5. Вывести на экран декодированную видео информацию.
  6. Перевести систему в состояния готовности принять и обработать очередной запрос, либо реакцию пользователя.

  Также необходима независимость работоспособности ИМС от операционной системы, в которой её запускают.  Оболочка обучающей программы будет выполнять основные функции реакции на запросы пользователь, а также отображение информации.

Не менее значимой частью ИМС является реализация видео информации, которая представляет собой отдельные файлы, подключаемые к программе при запуске. Каждый файл соответствует определенному разделу. Файлы видео информации содержат независимые блоки информации соответствующие основной теме презентации – «Презентации видео информации о факультете КТАС».

 

1.2 Методика реализации визуализации ИМС

Говоря о визуализации ИМС, будем иметь ввиду использование библиотеки визуальных компонентов (DirectX) среды Microsoft Windows, применительно к главному рабочему окну программы. Поскольку остальные модули не имеют собственных интерфейсов взаимодействия с пользователем, а подключаются к главному окну, то необходимо приложить максимум усилий на доступность и простоту его функциональных возможностей.

Для выбора и запуска файлов содержащих видео информацию программы будем использовать одну из стандартных частей библиотеки DirectX: DirectShow. Он позволяет отображать декодированную видео информацию. Для отображения видео будем использовать оконный и полноэкранный режим по выбору пользователя.

 

1.3 Методика реализации пользовательского  интерфейса

Для создания окон произвольной формы использовались регионы, которые являются элементами графической подсистемы Windows GDI (Graphic Development Interface).

 

2 ТЕХНОЛОГИЧЕСКИЙ ПРОЕКТ

 

2.1 Технология разработки модулей программы

Технология разработки включает в себя следующие этапы:

  1. Анализ предметной области;
  2. Выделение основных абстракций предметной области и оформление их в виде классов;
  3. Определение интерфейсов классов, выделенных на втором этапе;
  4. Реализация операций, определенных на этапе проектирования;
  5. Отладка созданного приложения;
  6. Тестирование приложения.

Проектирование приложений является итеративным процессом, поэтому на протяжении всех этапов разработки необходимо возвращаться к предыдущим этапам для их уточнения.

 

2.2 Разработка модулей

Разработка модулей является основной задачей на данном этапе и в проектировании системы в целом.

 

2.2.1 Разработка модуля воспроизведения

DirectShow — это API, позволяющий Windows-приложениям управлять широким спектром устройств ввода аудио— и видеоинформации, в частности цифровыми видеокамерами, веб-камерами, DVD-приводами и платами ТВ-тюнеров. Он обеспечивает программную поддержку множества форматов — от WAV и AVI до Windows Media. Кроме того, DirectShow является расширяемой технологией и позволяет сторонним разработчикам поддерживать собственные специализированные устройства, форматы и компоненты обработки. DirectShow доступен как часть Microsoft DirectX SDK.

Успешному решению поставленной задачи помогло знание интерфейсов DirectShow и среды разработки приложений Microsoft Visual Studio .NET 2003.

Архитектура DirectShow построена таким образом, чтобы программисту было легко работать с ним. Загрузка и воспроизведение файлов требует небольшого числа процедур и проста в исполнении.

Перечень интерфейсов, использованных в работе:

IGraphBuilder ;

IMediaControl ;

IMediaEventEx ;

IVideoWindow  ;

IBasicAudio   ;

IBasicVideo   ;

IMediaSeeking ;

IMediaPosition;

Все интерфейсы наследованы от интерфейса IUnknown, который имеет всего три функции:

AddRef – добавление ссылки на объект интерфейса

QueryInterface – получение родительских или наследственных интерфейсов выбранного объекта

Release – удаление из памяти интерфейса и возвращение затраченных аппаратных средств

 

Подробнее остановимся на интерфейсах DirectShow.

IGraphBuilder – интерфейс, осуществляющий построение картинки с помощью определённых DirectShow фильтров.

IMediaControl – интерфейс, осуществляющий контроль над воспроизведением файла (получается на основе интерфейса IGraphBuilder)

IMediaEventEx – более расширенный интерфейс для контроля над осуществлением мультимедиа событий при воспроизведении файла (получается на основе интерфейса IGraphBuilder)

IvideoWindow – интерфейс, осуществляющий управление окном для вывода графической информации (получается на основе интерфейса IgraphBuilder)

IBasicAudio, IBasicVideo – интерфейсы для доступа к базовым видео и аудио функциям

IMediaSeeking, IMediaPosition – интерфейсы для перемещения по воспроизводимому файлу для поиска нужных фрагментов и контроля за текущим временем воспроизведения.

 

Алгоритм воспроизведения видео файла:

    1. Создание интерфейса IGraphBuilder с помощью функции CoCreateInstance()
    2. Определяем имя воспроизводимого файла
    3. Вызов функции IGraphBuilder::RenderFile для установки связи между файлом на жестком диске и интерфейсом IGraphBuilder
    4. Получение интерфейсов IMediaControl, IMediaEventEx, IMediaSeeking, IMediaPosition, IvideoWindow, IBasicAudio, IBasicVideo с помощью функции QueryInterface.
    5. Проверка, является ли файл только аудио файлом
    • Если нет, то определяем стиль окна вывода с помощью функций put_Owner и put_WindowStyle и далее инициализируем окно вывода с помощью функции InitVideoWindow в которой можно изменять масштаб выводимого изображения
    • Если да то инициализируем окно плеера.
    1. Показываем окно приложения
    1. Обновляем окно приложения для борьбы с артефактами
    2. Устанавливаем нормальную скорость воспроизведения 1.0
    3. Вызываем функцию Run интерфейса IMediaControl

 

Алгоритм остановки воспроизведения видео файла

    1. Если состояние проигрывателя «Воспроизведение» или «Пауза» то
    • Вызываем функцию SetPositions интерфейса IMediaSeeking
    • Вызываем функцию Pause() интерфейса IMediaControl

 

Для паузы воспроизведения нужно вызвать функцию Pause() интерфейса IMediaControl.

Информация о работе Разработка тренажёров и обучающих программ