Разработка мультимедиа

 














КУРСОВАЯ РАБОТА

по теме «Разработка мультимедиа»



Содержание


Введение

1.Постановка задачи

1.1Назначение приложения

1.2Разработка форм

2.Меню приложения

2.1Меню для пользователей

2.2Меню для администраторов

3.Описание форм

3.1Форма DemoAudio.scx

3.2Форма DemoVideo.scx

3.3Форма o_programme.scx

3.4Форма registr.scx

3.5Форма spravka.scx

3.6Форма vxod.scx

3.7Класс vfpmci.vcx

4.Создание проекта

Заключение

Список литературы




Введение

мультимедиа программа форма файл

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

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

Поэтому я решил сделать программу, благодаря которой можно расслабиться сидя за компьютером. В этой программе можно слушать любимую музыку и смотреть любимые фильмы, которые находятся у Вас на компьютере. Именно поэтому я назвал ее «Мультимедиа».



1.Постановка задачи


1.1.Назначение приложения


Создание аудио- и видео проигрывателя


1.2.Разработка форм


В проект включено несколько форм. Вот перечень с их описанием:

ФормаВыполняемая функцияDemoAudio.scxФорма для проигрывания аудио файловDemoVideo.scxФорма для проигрывания видео файловo_programme.scxФорма, содержащая данные о программеregistr.scxФорма для регистрации, изменения и удаления пользователейspravka.scxФорма для справкиvfpmci.vcxФорма классаvxod.scxФорма входа в программу


2.Меню приложения


2.1.Меню для пользователей

SYSMENU TO

SET SYSMENU AUTOMATIC

DEFINE PAD _3tg14hdbk OF _MSYSMENU PROMPT "Мультимедиа" COLOR SCHEME 3

DEFINE PAD _3tg14hdbl OF _MSYSMENU PROMPT "Сервис" COLOR SCHEME 3PAD _3tg14hdbm OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3

ON PAD _3tg14hdbk OF _MSYSMENU ACTIVATE POPUP мультимеди

ON PAD _3tg14hdbl OF _MSYSMENU ACTIVATE POPUP сервисSELECTION PAD _3tg14hdbm OF _MSYSMENU Quit

DEFINE POPUP мультимеди MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF мультимеди PROMPT "Аудио проигрыватель"BAR 2 OF мультимеди PROMPT "Видео проигрыватель"SELECTION BAR 1 OF мультимеди Do form sys(5)+"\Kursovaya\Programm\demoaudio.scx"SELECTION BAR 2 OF мультимеди Do form sys(5)+"\Kursovaya\Programm\demovideo.scx"

DEFINE POPUP сервис MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF сервис PROMPT "Справка"BAR 2 OF сервис PROMPT "О программе"SELECTION BAR 1 OF сервис do form sys(5)+"\Kursovaya\Programm\spravka.scx"SELECTION BAR 2 OF сервис do form sys(5)+"\Kursovaya\Programm\o_programme.scx"

2.2Меню для администраторов


У меню администраторов появляется дополнительный пункт «ADMIN», в котором администраторы могут регистрировать, изменять и удалять пользователей.SYSMENU TOSYSMENU AUTOMATIC

DEFINE PAD _3tg14g2at OF _MSYSMENU PROMPT "Мультимедиа" COLOR SCHEME 3

DEFINE PAD _3tg14g2au OF _MSYSMENU PROMPT "Сервис" COLOR SCHEME 3PAD _3tg14g2av OF _MSYSMENU PROMPT "Admin" COLOR SCHEME 3PAD _3tg14g2aw OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3

ON PAD _3tg14g2at OF _MSYSMENU ACTIVATE POPUP мультимеди

ON PAD _3tg14g2au OF _MSYSMENU ACTIVATE POPUP сервисPAD _3tg14g2av OF _MSYSMENU ACTIVATE POPUP adminSELECTION PAD _3tg14g2aw OF _MSYSMENU Quit

DEFINE POPUP мультимеди MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF мультимеди PROMPT "Аудио проигрыватель"BAR 2 OF мультимеди PROMPT "Видео проигрыватель"SELECTION BAR 1 OF мультимеди Do form Sys(5)+"\Kursovaya\Programm\demoaudio.scx"SELECTION BAR 2 OF мультимеди Do form Sys(5)+"\Kursovaya\Programm\demovideo.scx"

DEFINE POPUP сервис MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF сервис PROMPT "Справка"BAR 2 OF сервис PROMPT "О программе"SELECTION BAR 1 OF сервис do form sys(5)+"\Kursovaya\Programm\spravka.scx"SELECTION BAR 2 OF сервис do form sys(5)+"\Kursovaya\Programm\o_programme.scx"

DEFINE POPUP admin MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF admin PROMPT "Пользователи"SELECTION BAR 1 OF admin Do form sys(5)+"\Kursovaya\Programm\registr.scx"



3.Описание форм


3.1Форма DemoAudio.scx


Форма DemoAudio.scx (см. рис.1) проигрывает музыку, которую Вы выбрали у себя на компьютере.


Рис.1

CLASS vfpplayer AS container

PROCEDURE Init.oMedia = CREATEOBJECT("vfpmci")VARTYPE(this.oMedia) != "O".f.interval.MouseDown

*** ActiveX Control Event ***button, shift, x, y.Parent.Timer1.Enabled = .f.interval.MouseUp

*** ActiveX Control Event ***button, shift, x, y.Parent.Timer1.Enabled = .t.interval.Change

*** ActiveX Control Event ***this.Parent.oMedia(this.value)()volume.Scroll

*** ActiveX Control Event ***.Parent.oMedia.SetVolume(this.value)cmdopen.ClicklcFile= GETFILE("MP3|WMA|WAV")!EMPTY(lcFile)this.Parent.Open(lcFile, thisform.HWnd).SetVolume(750).value = 0.max = .oMedia.GetSize().Play().Enabled = .t.

ENDWITH

ENDPROCcmdplay.Clickthis.Parent

.oMedia.Play()

.Timer1.Enabled = .t.cmdpause.Clickthis.Parent

.oMedia.Pause()

.Timer1.Enabled = .f.cmdstop.Clickthis.Parent

.oMedia.Stop()

.Timer1.Enabled = .f.

.Interval.value = 0timer1.Timer.Parent.interval.value = this.Parent.oMedia.GetPosition()

ENDPROC


3.2Форма DemoVideo.scx


Форма DemoVideo.scx (см. рис.2) показывает видео, который Вы выбрали у себя на компьютере.


Рис. 2

CLASS video AS form

PROCEDURE vfpplayer1.cmdOpen.ClicklcFile, lnDestWidth, lnDestHeight= GETFILE('AVI,WMV')!EMPTY(lcFile)this.Parent

.oMedia.Open(lcFile, thisform.HWnd)

.oMedia.SetVolume(750)

.Interval.value = 0

.Interval.max = .oMedia.GetSize()

* Получить размеры виде кадра= 0= 0

.oMedia.GetVideoDimension(@lnDestWidth, @lnDestHeight)

* Определение фактических размеров области вывода видео= lnDestHeight / thisform.Shape1.Height = lnDestWidth / thisform.Shape1.Width

lnKoeff = MAX(lnKVert, lnKHor)lnKoeff < 1= 1= lnDestWidth / lnKoeff= lnDestHeight / lnKoeff

* Вычисляем новые значения координат левой верхней точки

lnTop = thisform.Shape1.Top + 0.5 * (thisform.Shape1.Height - lnHeight)= thisform.Shape1.Left + 0.5 * (thisform.Shape1.Width - lnWidth)

* Устанавливаем новые размеры окна для видео

.oMedia.SetVideoRect(lnLeft, lnTop, lnWidth, lnHeight)

.oMedia.Play()

.Timer1.Enabled = .t.

ENDWITH


3.3Форма o_programme.scx


Форма o_programme.scx (см. рис.3) показывает данные о программе.


Рис.3

CLASS form1 AS form

Top = 0= 0= 373= 600= .T.= "О программе"= RGB(240,240,240)= "Form1"OBJECT label1 AS label WITH ;

AutoSize = .T., ;= .T., ;= 16, ;

FontCharSet = 204, ;= 0, ;= 0, ;= "О программе:", ;= 27, ;= 24, ;= 12, ;= 146, ;= "Label1"OBJECT command1 AS commandbutton WITH ;= 336, ;= 504, ;= 27, ;= 84, ;= "Закрыть", ;= "Command1"OBJECT edit1 AS editbox WITH ;= "", ;= 1, ;= 0, ;= 276, ;= 24, ;= .T., ;= 48, ;= 564, ;= RGB(240,240,240), ;= RGB(240,240,240), ;= RGB(255,255,255), ;= RGB(255,255,255), ;

Value = [Программа создана при помощи книги "Visual Foxpro 9 - Клепинин и Агафонова".] + CHR(13) + [В этой программе Вы сможете слушать музыку и смотреть видео. ] + CHR(13) + [Эта программа не требует никаких навыков и умений, необходимо только зарегестрироваться и наслаждаться любимыми музыкой и видео, находящихся у Вас на компьютере.], ;

ControlSource = "", ;= .F., ;= "Edit1"command1.Click.Release()

ENDPROC


3.4Форма registr.scx


В форме registr.scx (см. рис.4) можно не только зарегистрировать пользователей, но также их изменять и удалять.


Рис. 4

CLASS form1 AS form

PROCEDURE LoadDELETE off=SYS(5)NOT USED('rega')F1+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0 rega c

PROCEDURE cmdsave.Click=SYS(5)NOT USED('rega')F1+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0 rega c=2BLANK=thisform.pageframe1.Pagedit.text2.valueLogin WITH thisform.pageframe1.pagedit.text1.ValuePass WITH thisform.pageframe1.pagedit.text2.Valueadm WITH thisform.pageframe1.pagedit.text3.Value =0

thisform.pageframe1.pagedit.Enabled=.F..pageframe1.paglist.Enabled=.T..pageframe1.ActivePage=1.CmdAppendblank.Enabled=.T..CmdEditblank.Enabled=.T..CmdDelblank.Enabled=.T.cmdcansel.Click.CmdAppendblank.Enabled=.T..CmdEditblank.Enabled=.T..CmdDelblank.Enabled=.T..pageframe1.pagedit.Enabled=.F..pageframe1.paglist.Enabled=.T..pageframe1.ActivePage=1=0cmdappendblank.Click=2.CmdAppendblank.Enabled=.F..CmdEditblank.Enabled=.F..CmdDelblank.Enabled=.F..pageframe1.pagedit.Enabled=.T..pageframe1.paglist.Enabled=.F..pageframe1.ActivePage=2.pageframe1.pagedit.text1.Value="".pageframe1.pagedit.text2.Value=0.pageframe1.pagedit.text3.Value=0cmdeditblank.Click=1.CmdAppendblank.Enabled=.F..CmdEditBlank.Enabled=.F..CmdDelblank.Enabled=.F..pageframe1.paglist.Enabled=.F..pageframe1.pagedit.Enabled=.T..pageframe1.ActivePage=2.pageframe1.pagedit.text1.Value=rega.login.pageframe1.pagedit.text2.Value=rega.pass.pageframe1.pagedit.text3.Value=rega.admcmddelblank.ClickDELETE onnRetMsgBox,nRecno=0=0

nRetMsgBox=MESSAGEBOX("удалить текущую запись?",4+32+256,"удаление")

IF nRetMsgBox=6!EOF()EOF()BOTTOMEOF()TOP.REFRESH()cmdexit.ClickUSED([regs])rega

ENDIF.Release()

3.5Форма spravka.scx


Форма spravka.scx (см. рис.5) выдает справку по пользованию всего приложения.


Рис. 5

CLASS form1 AS form

Top = 2= 24= 371= 612= .T.= "Справка"= "Form1"OBJECT command1 AS commandbutton WITH ;= 336, ;= 504, ;= 27, ;= 96, ;= "Закрыть", ;= "Command1"OBJECT edit1 AS editbox WITH ;= 1, ;= 0, ;= 276, ;= 24, ;= .T., ;

Top = 48, ;= 576, ;= RGB(240,240,240), ;= [Для того чтобы можно было слушать музыку, необходимо: 1) В верхнем контекстном меню выбрать строчку "МУЛЬТИМЕДИА"] + CHR(13) + [2) Далее в появившемся меню выбрать строчку "АУДИО ПРОИГРЫВАТЕЛЬ"] + CHR(13) + [3) Затем в появившейся программе нажать на кнопку "ОТКРЫТЬ" и выбрать нужный Вам файл.] + CHR(13) + [Для того чтобы можно было смотреть видео, необходимо:] + CHR(13) + [1) В верхнем контекстном меню выбрать строчку "МУЛЬТИМЕДИА"] + CHR(13) + [2) Далее в появившемся меню выбрать строчку "ВИДЕО ПРОИГРЫВАТЕЛЬ"] + CHR(13) + [3) Затем в появившейся программе нажать на кнопку "ОТКРЫТЬ" и выбрать нужный Вам файл.] + CHR(13) + [Если Вы хотите зарегистрироваться еще раз или зарегистрировать друзей, знакомых или родных обращайтесь к администратору.] + CHR(13) + [***Для того чтобы зарегистрировать, изменить или удалить пользователя(ей), нужно:] + CHR(13) + [1) В верхнем контекстном меню выбрать строчку "ADMIN"] + CHR(13) + [2) В появившемся меню выбрать строчку "ПОЛЬЗОВАТЕЛИ"] + CHR(13) + [3) Затем в появившемся окне можно регистрировать, изменять или удалять пользователя(ей)] + CHR(13) + [***Действие доступно только для администратора] + CHR(13) + [Для того чтобы выйти из программы, необходимо:] + CHR(13) + [В верхнем контекстном меню нажать на строчку "ВЫХОД"], ;

ControlSource = "", ;= "Edit1"OBJECT label1 AS label WITH ;

AutoSize = .T., ;= .T., ;= 16, ;

FontCharSet = 204, ;= 0, ;= 0, ;= "Справка", ;= 27, ;= 24, ;= 12, ;= 91, ;= 1, ;= "Label1"Loadcommand1.Click

thisform.release()


3.6Форма vxod.scx


Форма vxod.scx (см. рис.6) определяет кем будет вновь вошедший и взависимости от того, кем он будет (администратор или пользователь) и будет выводиться соответствующее меню.

Рис. 6

CLASS formset AS formset

PROCEDURE form1.Load=SYS(5)NOT USED([Rega])F2+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0regaregaon login + STR(pass) To loginidxORDER TO loginidxform1.UnloadUSED([rega])regacommand1.Click=SYS(5)

* Ввод переменных=ALLTRIM(thisform.Text1.value)=ALLTRIM(thisform.text2.value)

* Проверка на верность логина и проверка администратор или простой пользователь

IF SEEK (Log1,"rega")VAL(Parol)<>rega.pass

WAIT WINDOW ('неверный пароль!') AT 15, 73 NOWAIT.Release()

IF rega.adm=0WINDOW ('Добро пожаловать!') AT 15, 73 NOWAITF1+"\Kursovaya\Programm\polmen.prg".Release()rega.adm=1

WAIT WINDOW ('Добро пожаловать, администратор!') AT 15, 73 NOWAITF1+"\Kursovaya\Programm\admmen.prg".Release()

ENDIF WINDOW ('Такой пользователь не обнаружен! Обратитесь к администратору.') AT 15, 73 NOWAIT

ENDIFcommand2.Click.Release()

ENDPROC

3.7Класс vfpmci.vcx


Класс vfpmci.vcx (см. рис.7) предназначен для воспроизведения звука и видео в приложении.


Рис. 7

CLASS vfpmci AS custom

PROTECTED status= 0lload= .F.= "vfpmci"docmdtcMCICommandlcRetMsg= SPACE(80).Status = mciSendString(tcMCICommand, @lcRetMsg, 80, 0)this.Status != 0= SPACE(160)

= mciGetErrorString(this.Status, @lcRetMsg, 160)

= MESSAGEBOX(ALLTRIM(lcRetMsg), 64, "MCI")""alltrim(lcRetMsg)open

LPARAMETERS tcFileName, tHWNDlcCMDVARTYPE(tcFileName) = "C" .and. FILE(tcFileName)

* Проверить, загружен ли в настоящий момент

* аудио или видеофайл; если да, то закрыть его.

IF this.lLoad .DoCMD("CLOSE mediafile")= IIF(VARTYPE(tHWND) = "N", tHWND, 0)

* Если значение HWND формы передано методу, то видео будет выводиться

* в окне формы; иначе - в отдельном окне. При воспроизведении аудиофайла

* MCI игнорирует параметр STYLE= 'OPEN "' + tcFileName + '" ALIAS mediafile STYLE '

IF tHWND = 0= lcCMD + "Overlapped"= lcCMD + "child parent " + LTRIM(STR(tHWND))= lcCMD + " WAIT".DoCMD(lcCMD)this.Status = 0.lLoad = .t.playthis.lLoad.DoCMD("PLAY mediafile")stopthis.lLoad .DoCMD("CLOSE mediafile").lLoad = .f.pausethis.lLoad this.DoCMD("STATUS mediafile MODE") = "playing".DoCMD("PAUSE mediafile")getsizelcRetMsg, lnSize= 0this.lLoad = this.DoCMD("STATUS mediafile LENGTH")this.Status = 0= VAL(lcRetMsg)lnSizegetpositionlcRetMsg, lnPosition= 0this.lLoad = this.DoCMD("STATUS mediafile POSITION")this.Status = 0= VAL(lcRetMsg)lnPositiongetvideodimensiontnWidth, tnHeightlcRetMsgthis.lLoad = this.DoCMD('WHERE mediafile destination')this.Status = 0= VAL(GETWORDNUM(lcRetMsg, 3, " "))= VAL(GETWORDNUM(lcRetMsg, 4, " "))setvolumetnVolumeVARTYPE(tnVolume) = "N"tnVolume < 0= 0tnVolume > 1000= 1000this.lLoad .DoCMD("SETAUDIO mediafile volume to " + LTRIM(STR(tnVolume)))setposition

LPARAMETERS tnPositionlcCMD, lnSizeVARTYPE(tnPosition) = "N"this.lLoad = "SEEK mediafile to "CASE tnPosition = -1 && В начало файла= lcCMD + "start"tnPosition = -2 && В конец файла= lcCMD + "end"tnPosition >= 0 && На заданную позициюtnPosition <= this.GetSize()= lcCMD + LTRIM(STR(tnPosition))= lcCMD + LTRIM(STR(this.GetSize()))

ENDIF .DoCMD(lcCMD)

= INKEY(0.5)setvideorecttnLeft, tnTop, tnWidth, tnHeightVARTYPE(tnLeft) + VARTYPE(tnTop) + VARTYPE(tnWidth) + VARTYPE(tnHeight) = "NNNN"

LOCAL lcRetMsg

* Получить HWND для окна, в котором выводится видео

lcRetMsg = this.DoCMD('STATUS mediafile window handle wait')

IF this.Status = 0

* Изменить положение и размеры окна, в котором выводится видео

lnDestHwnd = VAL(lcRetMsg)SetWindowPos(lnDestHwnd, 0, tnLeft, tnTop, tnWidth, tnHeight, 0) = 0

= MESSAGEBOX("Ошибка при изменении размеров окна для видео", 64, "MCI")

ENDIF readythis.lLoad this.DoCMD("STATUS mediafile READY") = "true".t.

RETURN .f.Destroy.Stop()InitLong mciSendString IN WinMM.DLL String, String @, Long, LongLong SetWindowPos IN User32.dll ;, Long, Long, Long, Long, Long, LongLong mciGetErrorString IN WinMM.DLL Long, String, Long

ENDPROC

4. Создание проекта


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

Открываем Visual Fox Pro, после чего в верхнем контекстном меню выбираем «File - New» (см. рис. 8). В появившемся окне выбираем «Proekt» и нажимаем на кнопку «New File» (см. рис. 9), после этого в открывшемся окне выбираем путь сохранения проекта и нажимаем на кнопку «Сохранить» (см. рис. 10). Далее появляется окно, в которое Мы должны будем добавить все нужные нам файлы, а это формы, классы, программы, таблицы и т.д. После добавления можно создавать само приложение, а именно файл с расширением .app. Для этого нам всего лишь надо нажать на кнопку «Build…» (см. рис. 11), после чего появится окно, где нам надо выбрать пункт «Application (app)», затем нажать на кнопку «ОК» (см. рис. 12). Далее появиться окно сохранения приложения, необходимо указать путь и нажать на кнопку «Сохранить» (Аналогично рисунку 10).

Если Вы все сделаете правильно, то приложение должно превосходно работать.



Рис. 8


Рис. 9


Рис. 10


Рис. 11


Рис. 12



Заключение


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


Список литературы


1.Книга «Visual Foxpro 9 - Клепинин, Агафонова»

.Сайт «www.znanija.com»


КУРСОВАЯ РАБОТА по теме «Разработка мультимедиа» Содержание Введение 1.Пос

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ