Разработка мультимедиа
КУРСОВАЯ РАБОТА
по теме «Разработка мультимедиа»
Содержание
Введение
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»
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ