Современное человеческое общество все больше и больше зависит от компьютерных систем, управляемых программами и всем известно, что программирование в наше время применяется везде: создаются интернет сайты, программы на компьютере, а так же его используют в устройстве, без которого в наше время мы не представляем жизни - это телефон.. В своей исследовательской работе за основу я взял среду программирования Delphi.
Цель – разработка программы «Медиа плеер» для уроков информатики с применением способов создания программ в среде Delphi.
Вложение | Размер |
---|---|
issledovat_rabota_po_informatike_mediapleer.docx | 406.19 КБ |
МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
«Гимназия №3»
Городской конкурс исследовательских работ
и персональных проектов
Физико-математическая секция
Исследовательский проект по информатике
«Создание медиа плеера в среде
программирования Delphi».
Выполнил
ученик 9а класса:
Тетеркин Александр
Руководитель:
Кошман Алеся Анатольевна
2017 г.
Введение………………………………………………………………………….......3
Знакомство со средой Delphi ……… …………………..5
Компоненты, используемые в программе……………………………………….…8
Проектирование медиа плеера в среде программирования Delphi……………...16
Заключение……………………………………………………………………….... 22
Список используемой литературы …………………………………………...…..23
Современное человеческое общество все больше и больше зависит от компьютерных систем, управляемых программами и всем известно, что программирование в наше время применяется везде: создаются интернет сайты, программы на компьютере, а так же его используют в устройстве, без которого в наше время мы не представляем жизни - это телефон.. В своей исследовательской работе за основу я взял среду программирования Delphi.
«Научиться можно только постоянно программируя, решая конкретные задачи. При этом достигнутые в программировании успехи в значительной мере зависят от опыта. Чем больше Вы сделаете самостоятельно, тем больше Вы научитесь.» Так в своей книги о программировании написал Н.Б. Культин.
Научная новизна моей работы:
Цель – разработка программы «Медиа плеер» для уроков информатики с применением способов создания программ в среде Delphi.
Задачи исследования:
Объект исследования – среда программирования Delphi.
Предмет исследования– программное обеспечение уроков информатики.
Методы:
В качестве гипотезы исследования было выдвинуто предположение о том, что на уроках информатики при изучении темы «Алгоритмизация и программирование» вместо системы программирования Паскаль можно использовать язык программирования Delphi, так как использование визуальной объектно-ориентированной системы позволяет облегчить знакомство с современными методами создания программ.
Развитие Delphi берет свое начало с языка программирования Pascal, названного в честь знаменитого французского математика Блеза Паскаля. Язык Pascal был создан Никлаусом Виртом в Цюрехе (Швецария) как учебный язык компьютерного программирования. Хорошая структурированность языка помогает привить начинающими программистам праильные навыки программирования. В результате Pascal быстро получил широкую популярность и стал основным учебным языком во многим университетах как США, так и во всем мире. Благодаря богатым функциональным возможностям , легкости составления программ и высокой скорости компиляции Pascal стал интенсивно использоваться также для создания коммерческих программ.
Компанией Borland были разработаны популярные версии этого языка - Turbo Pascal и Object Pascal. Следующим естественным шагом было создание Delphi – среды разработки программ на языке Object Pascal. Слово Delphi– это название города в древней Греции, в котором пророчествовали оракулы. Такое название было выбрано разработчиками Delphi для того, чтобы подчеркнуть способность программ, создаваемых в Delphi, взаимодействовать с базами данных Oracle.
Среда Delphi – это сложный механизм, обеспечивающий высокоэффективную работу программиста. Визуально она реализуется несколькими одновременно раскрытыми на экране окнами. Окна могут перемещаться по экрану, частично или полностью перекрывая друг друга. Каждое окно несет в себе некоторую функциональность, т.е. предназначено для решения определенных задач. При запуске Delphi открываются 6 наиболее важных окон: главное окно, окно Дерева объектов (Object Tree View), окно Инспектора объектов, окно браузера, окно формы и окно кода программы. Кратко опишем каждое из окон программы.
Главное окно осуществляет основные функции управления проектом создаваемой программы. Это окно всегда присутствует на экране и упрямо занимает его верхнюю часть. В главном окне располагается главное меню Delphi, набор пиктографических командных кнопок и палитра компонентов.
Окно формы представляет собой проект Windows- окна будущей программы. В начале это окно пусто. Точнее оно содержит стандартные для Windows интерфейсные элементы – кнопки вызова системного меню, максимизации, минимизации и закрытия окна, полосу заголовка и очерчивающую рамку.
Окно Дерева объектов предназначен для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по любому компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне Инспектора объектов.
Окно Инспектора объектов представляет собой двухколончатую таблицу, левая колонка которой содержит название свойства или события, а правая - конкретное значение свойства или имя подпрограммы, обрабатывающей соответствующее событие.
Окно кода программы – предназначено для создания и редактирования текста программы. Это текст составляется по специальным правилам и описывает алгоритм работы программы. Совокупность правил записи текста называется языком программирования. В система Delphi используется язык программирования Object Pascal, который представляет собой расширенную и усовершенствованную версию языка Pascal.
В своей работе мы будем создавать, как уже было написано ранее медиа плеер. Под музыкой мы будем понимать высококачественную человеческую речь, пение и музыку, которая льется из внешних звуковых колонок, подключенных к вашему компьютеру. Под изображением будем понимать не только качественные статические картинки, но и фильмы, которые можно просматривать, используя компьютер. Естественно любой пользователь хотел бы научиться создать программы, которые способны воспроизводить музыку и изображение на компьютере.
Музыка, человеческий голос и звуковые эффекты хранятся на носителях информации в файлах специальных форматах, среди которых достаточно часто используются файлы с расширением AVI(Audio – Video- Information). Обычно файлы, содержащие аудио/видео информацию получаются очень большими, поэтому мультимедиа-приложения сохраняются и поставляются на лазерных дисках. Мы решили написать программу, которая по выбору пользователя позволяет активировать звук mp3 и mp4 формата или запустить фильм avi – формата.
А сейчас опишем компоненты, которые используются нами при создании медиа плеера.
Свойства компонента Panel:
Caption | текст, выводимый в центре панели. |
Align | определяет границу формы, к которой привязана(прикреплена) панель. Она может быть прикреплена к левой(alLeft), правой(alRight), верхней(alTop) и нижней(alBottom) границе |
BevelOuter | внешняя фаска панели. Если значение свойства равно bvNone, то фаска не отображается и поверхность панели находится на одном уровне с поверхностью формы, если значение равно bvLowered, то поверхность панели протоплена, если свойство равно bvRaised, то поверхность панели выступает над поверхностью формы |
BevelCut | определяет вид внутренней кромки если значение равно bvNone, то кромки нет, если bvLowered — кромка вдавленная, если bvRaised — кромка приподнятая |
BevelInner | определяет вид внешней кромки, если значение равно bvNone, то кромки нет, если bvLowered — кромка вдавленная, если bvRaised — кромка приподнятая |
BevelWidth | толщина кромки |
Enabled | свойство позволяет сделать недоступным все компоненты находящиеся на панели |
Свойства компонента TrackBar:
Position | целое значение, которое изменяется в пределах, задаваемые свойствами Min и Max. По умолчанию это 0 и 10 соответственно. Если задать больше значение Max, то увеличится кол-во возможных значений Position. |
Orientation | определяет ориентацию ползунка горизонтальная или вертикальная |
TickMarks | определяет размещение шкалы относительно компонента сверху или снизу если компонент расположен горизонтально и справа или слева если компонент расположен по вертикали либо с обоих сторон |
TickStyle | указывает способ изображения шкалы. Может принимать значения: tsAuto — автоматическая прорисовка шкалы, tsManual – программное рисование шкалыс помощью метода SetTick, который помещает метку шкалы в позицию, соответствующую значению Value |
Frequency | частота меток шкалы если свойство TickStyle равно tsAuto |
LineSize | определяет насколько смещается ползунок при перемещении стрелками |
PageSize | определяет насколько смещается ползунок при перемещении клавишами PageUp и PageDawn |
SelStart и SelEnd | позволяет визуально выделить на шкале некоторый диапазон (средний компонент на рисунке 1) |
ThumbLength | Толщина полосы бегунка в пикселях |
Воспроизведение(btPlay) | Воспроизведение звука или видео |
Пауза(btPause) | Приостановка воспроизведения |
Стоп(btStop) | Остановка воспроизведения |
Следующий(btNext) | Переход к следующему кадру |
Предыдущий(btPrev) | Переход к предыдущему кадру |
Шаг(btStep) | Переход к следующему фрагменту, например к следующему треку на CD |
Назад(btBack) | Переход к предыдущему фрагменту, например к предыдущему треку на CD |
Запись(btRecord) | Активирует процесс записи |
Открыть(btEject) | Открывает CD-дисковод компьютера |
Свойства компонента MediaPlayer:
Length | Длина открытого файла |
Tracks | Количество треков на устройстве |
TrackLength | Длина треков |
Position | Позиция (время воспроизведения) |
TimeFormat | Формат представления значений свойств Length, TrackLength и Position. Наиболее универсальным является формат tfMilliseconds |
Mode | Состояние устройства воспроизведения. |
Display | Экран, на котором отображается клип. Если значение не задано, то клип отображается в отдельном окне (создаваемом во время работы программы) |
DisplayRect | Размер и положение области отображения клипа на поверхности экрана |
Свойства компонента Timer:
Name | имя компонента необходимое для доступу к компоненту и свойствам этого компонента |
Interval | период генерации событий timer, в миллисекундах |
Enabled | Разрешает(True) или запрещает(False) генерацию события OnTimerоцени статью оставь комментарий |
Типы искомых файлов задаются в свойстве Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается при нажатии кнопки с многоточием возле этого свойства в инспекторе объектов.
Свойства компонента OpenDialog:
ofReadOnly | Открывает окно в режиме «только для чтения» |
ofHideReadOnly | Скрывает флажок ReadOnly |
ofOverwritePrompt | Играет роль в диалогах записи файлов, запрашивает разрешение на перезапись при совпадении имени. |
ofNoChangeDir | Если флаг установлен, то при повторных запусках диалога он открывает папку определенную в свойстве InitialDir. Иначе будет открыт каталог с которым велась работа в последний раз. |
ofShowHelp | Дополняет диалог кнопкой помощи. |
ofNoValidate | Отключает контроль ввода недопустимого символа в имя файла |
OfAllowMultiSelect | Допускает одновременный выбор нескольких файлов |
ofExtensionDifferent | Наличие флага обычно контролируется программистом во время выполнения приложения. Он автоматически устанавливается приложениям в случае, когда расширение выбранного файла отличается от заданного в свойстве DefaultExt |
ofPathMustExist | Вызывает сообщение об ошибке, если пользователь указал неверный путь к файлу. |
ofFileMustExist | Вызывает сообщение об ошибке, если пользователь указал имя не существующего файла |
ofCreatePrompt | Запросит подтверждения на создание несуществующего файла. |
ofShareAwere | Разрешает совместный доступ к одному и тому же файлу |
ofNoReadOnlyReturn | Инициализирует сообщение об ошибке при попытке обратиться к файлу с атрибутом «только для чтения». |
ofNoTestFileCreate | Опция применяется при работе с разделяемым сетевым ресурсом в котором пользователь обладает правом создания новых файлов, но не может модифицировать существующие. |
ofNoNetworkButton | Скрывает кнопку доступа к сетевым ресурсам. |
ofNoLongNames | Показывает файлы с форматом имени. |
ofOldStyleDialog | Флаг обратной совместимости, создает диалоговое окно старого стиля. |
ofNoDereferenceLinks | Определяет порядок взаимодействия с ярлыками файлов. |
ofEnableIncludeNotify | Работает с Windows2000 и более поздними версиями. |
ofEnableSizing | Разрешает изменять размеры диалогового окна |
Свойства компонента Button:
Cancel | если установлено true, то нажимая клавишу «Esc» будет выполнено нажатие на данную кнопку. Это свойство лучше задавать для кнопок «Отменить»; |
Caption | задает название кнопки |
Default | если установлено в true, то при нажатии клавиши Enter будет выполнено нажатию на данную кнопку, даже если в этот момент данная кнопка не находится в фокусе. Но если в момент нажатия в фокусе находится другая кнопка, то сработает кнопка находящаяся в фокусе. |
Hint | подсказка — текст, который будет появляется рядом с курсором мыши при наведении указателя на кнопку(для того что бы текст отображался, свойство ShowHint должно быть |
ShowHint | разрешает или запрещает отображение подсказки при наведении указателя на кнопку |
Начнем проектировать приложение, которое обеспечит просмотр mp4 –файлов с видеоклипами.
Шаг1. Начинаем новое приложение. Назовем эту форму frmVPlayer, а в ее заголовке напишем Видеоплейер. Сохраним программный модуль с именем VPlayer.pas, а проект - PrVPlayer.pas.
Шаг 2. Кнопки управления видеоплейера расположим на панели, установленной в верхней части формы. Поместим на форму компонент типа TPanel, присвоимему имя ToolBarPanelи для свойства Alignустановим значение alTop. Поместим на ToolBarPanelкомпонент MediaPlayerи установим для свойства VisibleButtonsзначения, равные Falseдля опций btRecord и btEject.
Шаг 3. Любому видеопроигрывателю нужен экран, на котором отображается видеоклип. В качестве экрана нам будет служить компонент типа TPanel. Поместим компонент Panelна форму, и установим следующие свойства и их значения:
Теперь подключим компонент MediaPlayerк установленному экрану, установив для свойства Displayего значение – ScreenPanel.
Шаг 4. Создадим на форме индикатор, который создает визуальный эффект движения головки считывания данный из файла AVI. Индикатор динамически отображает процесс воспроизведения , показывая, какой кадр считывается для показа. Таким индикатором станет компонент класса TTrackBar (вкладка Win32 Палитры компонентов), который представляет собой полосу с засечками и перемещающимися вдоль нее ползунком. Поместим на форму компонент этого класса и присвоим ему имя TrackBar. Подкорректируем его размеры и положение на панели.
Установим для компонента TrackBarсвойства:
Для устойчивой работы видеоплейера объявим в разделе Private секции interface переменную логического типа, которая будет хранить флажок состояния плейера: остановлен или работает. В редакторе Кода впишем:
….. private {Флажок, указывающий в каком состоянии находитсяMediaPlayer: остановлен или запущен} TrackBarSetPos: Boolean; ….. |
Для достижения эффекта перемотки видеоролика при перемещении ползунка (слайдера) пользователем, определим для компонента TrackBar обработчик события OnChange:
procedureTfrmVplayer.procedure TForm1.TrackBarChange(Sender: TObject); var IsPlaying:Boolean; begin //Если флажлок находится в состоянии «MediaPlayer остановлен», т.е. переменная//TrackBarSetPos имеетзначение False, то … if not TrackBarSetPos then begin //Указать состояние MediaPlayera. В данном случае установить состояние – //воспроизведение IsPlaying:=(mpPlaying=MediaPlayer.Mode); //УстановкапозицииMediaPlayer MediaPlayer.Position:=TrackBar.Position; //Если состояние – воспроизведение, то MediaPlayer запускается if IsPlaying then MediaPlayer.Play; end; end; |
Шаг 5. Движение ползунка в процессе воспроизведения видеоклипа осуществим с помощью таймера. Для этого поместим на форму компонент типа TTimer, установим его имя – Timer, а свойство Intervalв значении 100. Пока видеоклип не загружен, свойство Enabledустановим в значение False.
Определим для компонента Timer следующий обработчик события OnTimer:
procedure TfrmVPlayer.TimerTimer(Sender: TObject); begin //Флажок находится в состоянии «MediaPlaye rзапущен». TrackBarSetPos:=True; //Текущая позиция слайдера соответствует позиции MediaPlayer trckbr1.Position:=MediaPlayer1.Position; //Флажок находится в состоянии «MediaPlayer остановлен» TrackBarSetPos:=False; end; |
Шаг 6. Реализуем для пользователя выбор видеоклипов (AVI-файла) в диалоговом окне. Для этого поместим на панель TrackBar компонент OpenDialog, реализующий диалог выбора файла и установим его свойства и их значения:
Кроме диалога, поместим на панель кнопку, с помощью которой активируется диалог открытия видеоклипа. Назовем кнопку: свойству Name присвоим значение OpenBtn, а свойствуCaption– Открыть…
После установки на форме списанных компонентов, внешний вид приложения может быть таким.
Для кнопки Открыть… определим обработчик события OnClick. Код обработчика может быть таким:
procedure TfrmVPlayer.OpenBtnClick(Sender: TObject); begin //Вызов отображения диалога выбора файлов ifOpenDialog.Executethen begin //Определяет открытый файл для воспроизведения MediaPlayer.FileName:=OpenDialog.FileName; //Открывает устройство мультимедиа для воспроизведения MediaPlayer.Open; //Определяет прямоугольную область для отображения вывода из устройства //мультимедиа MediaPlayer.DisplayRect:=pnlScreenPanel.ClientRect; //Определение числа кадров для воспроизведения MediaPlayer.Frames:=1; //Начало отсчета позиции слайдера TrackBar TrackBar.Min:=0; //КонецпозицииTrackBar, определяемой длиной среды в открытом устройстве //мультимедиа TrackBar.Max:=MediaPlayer.Length; //Определение значения позиции, зависящих от числа кадров TrackBar.PageSize:=MediaPlayer.Frames; //«Открыть» полосу TrackBar TrackBar.Enabled:=True; //«Открыть» таймер TTimer.Enabled:=True; //Вывести в заголовок название выбранного файла Caption:=MediaPlayer.FileName; end; end; |
Шаг 7. Давайте представим на секунду, что мы хотим изменить размеры экрана для ввода видеоклипа при работе приложения. Очевидно, что необходимо масштабирование изображения. Для компонента MediaPlayer оно достигается с помощью установки для свойства DisplayRect значения ClientRect, устанавливающего размерность клиентской области для объекта, на который выводится изображение. В нашем случае это ScreenPanel.ClientRect.
Для масштабирования изображения при изменении окна просмотра для компонента ScreenPanel определим обработчик события OnResize:
procedure TfrmVPlayer.ScreenPanelResize(Sender: TObject); begin //Прямоугольная область панели является клиентской областью для выводаизображения MediaPlayer.DisplayRect:=ScreenPanel.ClientRect; end; |
На этом разработка проекта закончена, теперь мы можем запустить наше приложение.
Я считаю, что на современном этапе информатизации общества программирование на разных языках программирования остается очень актуальным.
В ходе исследования была изучена среда программирования Delphi, основные ее компоненты и их свойства, установлена взаимосвязь между алгоритмом и его наглядным представлением, выявлены условия перевода программы на машинный язык.
В результате исследования составлена программа «Медиа плеер», которая демонстрируется в качестве ознакомления со средой программирования Delphi на уроках информатики при изучении темы «Алгоритмизация и программирование» в 9 классе.
Выдвинутая в начале исследования гипотеза полностью подтверждена.
Любили тебя без особых причин...
По морям вокруг Земли
Разноцветное дерево
Две снежинки
Можно от Солнца уйти...