Разработка мультимедиа
Разработка мультимедиа-программы для прослушивания аудио-файлов и просмотров видео. Описание меню для пользователей и для администраторов проекта. Создание форм для указанного приложения при помощи Visual Foxpro 9. Листинг программы и ее результаты.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.07.2013 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
КУРСОВАЯ РАБОТА
по теме «Разработка мультимедиа»
Содержание
- Введение
- 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. Меню для пользователей
SET SYSMENU TO
SET SYSMENU AUTOMATIC
DEFINE PAD _3tg14hdbk OF _MSYSMENU PROMPT "Мультимедиа" COLOR SCHEME 3
DEFINE PAD _3tg14hdbl OF _MSYSMENU PROMPT "Сервис" COLOR SCHEME 3
DEFINE PAD _3tg14hdbm OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3
ON PAD _3tg14hdbk OF _MSYSMENU ACTIVATE POPUP мультимеди
ON PAD _3tg14hdbl OF _MSYSMENU ACTIVATE POPUP сервис
ON SELECTION PAD _3tg14hdbm OF _MSYSMENU Quit
DEFINE POPUP мультимеди MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF мультимеди PROMPT "Аудио проигрыватель"
DEFINE BAR 2 OF мультимеди PROMPT "Видео проигрыватель"
ON SELECTION BAR 1 OF мультимеди Do form sys(5)+"\Kursovaya\Programm\demoaudio.scx"
ON 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 "Справка"
DEFINE BAR 2 OF сервис PROMPT "О программе"
ON SELECTION BAR 1 OF сервис do form sys(5)+"\Kursovaya\Programm\spravka.scx"
ON SELECTION BAR 2 OF сервис do form sys(5)+"\Kursovaya\Programm\o_programme.scx"
2.2 Меню для администраторов
У меню администраторов появляется дополнительный пункт «ADMIN», в котором администраторы могут регистрировать, изменять и удалять пользователей.
SET SYSMENU TO
SET SYSMENU AUTOMATIC
DEFINE PAD _3tg14g2at OF _MSYSMENU PROMPT "Мультимедиа" COLOR SCHEME 3
DEFINE PAD _3tg14g2au OF _MSYSMENU PROMPT "Сервис" COLOR SCHEME 3
DEFINE PAD _3tg14g2av OF _MSYSMENU PROMPT "Admin" COLOR SCHEME 3
DEFINE PAD _3tg14g2aw OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3
ON PAD _3tg14g2at OF _MSYSMENU ACTIVATE POPUP мультимеди
ON PAD _3tg14g2au OF _MSYSMENU ACTIVATE POPUP сервис
ON PAD _3tg14g2av OF _MSYSMENU ACTIVATE POPUP admin
ON SELECTION PAD _3tg14g2aw OF _MSYSMENU Quit
DEFINE POPUP мультимеди MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF мультимеди PROMPT "Аудио проигрыватель"
DEFINE BAR 2 OF мультимеди PROMPT "Видео проигрыватель"
ON SELECTION BAR 1 OF мультимеди Do form Sys(5)+"\Kursovaya\Programm\demoaudio.scx"
ON 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 "Справка"
DEFINE BAR 2 OF сервис PROMPT "О программе"
ON SELECTION BAR 1 OF сервис do form sys(5)+"\Kursovaya\Programm\spravka.scx"
ON 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 "Пользователи"
ON SELECTION BAR 1 OF admin Do form sys(5)+"\Kursovaya\Programm\registr.scx"
3. Описание форм
3.1 Форма DemoAudio.scx
Форма DemoAudio.scx (см. рис.1) проигрывает музыку, которую Вы выбрали у себя на компьютере.
Рис.1
DEFINE CLASS vfpplayer AS container
PROCEDURE Init
this.oMedia = CREATEOBJECT("vfpmci")
IF VARTYPE(this.oMedia) != "O"
RETURN .f.
ENDIF
ENDPROC
PROCEDURE interval.MouseDown
*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y
this.Parent.Timer1.Enabled = .f.
ENDPROC
PROCEDURE interval.MouseUp
*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y
this.Parent.Timer1.Enabled = .t.
ENDPROC
PROCEDURE interval.Change
*** ActiveX Control Event ***
WITH this.Parent.oMedia
SetPosition(this.value)
Play()
ENDWITH
ENDPROC
PROCEDURE volume.Scroll
*** ActiveX Control Event ***
this.Parent.oMedia.SetVolume(this.value)
ENDPROC
PROCEDURE cmdopen.Click
LOCAL lcFile
lcFile = GETFILE("MP3|WMA|WAV")
IF !EMPTY(lcFile)
WITH this.Parent
oMedia.Open(lcFile, thisform.HWnd)
oMedia.SetVolume(750)
Interval.value = 0
Interval.max = .oMedia.GetSize()
oMedia.Play()
Timer1.Enabled = .t.
ENDWITH
ENDIF
ENDPROC
PROCEDURE cmdplay.Click
WITH this.Parent
.oMedia.Play()
.Timer1.Enabled = .t.
ENDWITH
ENDPROC
PROCEDURE cmdpause.Click
WITH this.Parent
.oMedia.Pause()
.Timer1.Enabled = .f.
ENDWITH
ENDPROC
PROCEDURE cmdstop.Click
WITH this.Parent
.oMedia.Stop()
.Timer1.Enabled = .f.
.Interval.value = 0
ENDWITH
ENDPROC
PROCEDURE timer1.Timer
this.Parent.interval.value = this.Parent.oMedia.GetPosition()
ENDPROC
ENDDEFINE
3.2 Форма DemoVideo.scx
Форма DemoVideo.scx (см. рис.2) показывает видео, который Вы выбрали у себя на компьютере.
Рис. 2
DEFINE CLASS video AS form
PROCEDURE vfpplayer1.cmdOpen.Click
LOCAL lcFile, lnDestWidth, lnDestHeight
lcFile = GETFILE('AVI,WMV')
IF !EMPTY(lcFile)
WITH this.Parent
.oMedia.Open(lcFile, thisform.HWnd)
.oMedia.SetVolume(750)
.Interval.value = 0
.Interval.max = .oMedia.GetSize()
* Получить размеры виде кадра
lnDestWidth = 0
lnDestHeight = 0
.oMedia.GetVideoDimension(@lnDestWidth, @lnDestHeight)
* Определение фактических размеров области вывода видео
lnKVert = lnDestHeight / thisform.Shape1.Height
lnKHor = lnDestWidth / thisform.Shape1.Width
lnKoeff = MAX(lnKVert, lnKHor)
IF lnKoeff < 1
lnKoeff = 1
ENDIF
lnWidth = lnDestWidth / lnKoeff
lnHeight = lnDestHeight / lnKoeff
* Вычисляем новые значения координат левой верхней точки
lnTop = thisform.Shape1.Top + 0.5 * (thisform.Shape1.Height - lnHeight)
lnLeft = thisform.Shape1.Left + 0.5 * (thisform.Shape1.Width - lnWidth)
* Устанавливаем новые размеры окна для видео
.oMedia.SetVideoRect(lnLeft, lnTop, lnWidth, lnHeight)
.oMedia.Play()
.Timer1.Enabled = .t.
ENDWITH
ENDIF
ENDPROC
ENDDEFINE
3.3 Форма o_programme.scx
Форма o_programme.scx (см. рис.3) показывает данные о программе.
Рис.3
DEFINE CLASS form1 AS form
Top = 0
Left = 0
Height = 373
Width = 600
DoCreate = .T.
Caption = "О программе"
BackColor = RGB(240,240,240)
Name = "Form1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 16, ;
FontCharSet = 204, ;
Alignment = 0, ;
BackStyle = 0, ;
Caption = "О программе:", ;
Height = 27, ;
Left = 24, ;
Top = 12, ;
Width = 146, ;
Name = "Label1"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 336, ;
Left = 504, ;
Height = 27, ;
Width = 84, ;
Caption = "Закрыть", ;
Name = "Command1"
ADD OBJECT edit1 AS editbox WITH ;
Comment = "", ;
BackStyle = 1, ;
BorderStyle = 0, ;
Height = 276, ;
Left = 24, ;
ReadOnly = .T., ;
Top = 48, ;
Width = 564, ;
BackColor = RGB(240,240,240), ;
DisabledBackColor = RGB(240,240,240), ;
DisabledForeColor = RGB(255,255,255), ;
BorderColor = RGB(255,255,255), ;
Value = [Программа создана при помощи книги "Visual Foxpro 9 - Клепинин и Агафонова".] + CHR(13) + [В этой программе Вы сможете слушать музыку и смотреть видео. ] + CHR(13) + [Эта программа не требует никаких навыков и умений, необходимо только зарегестрироваться и наслаждаться любимыми музыкой и видео, находящихся у Вас на компьютере.], ;
ControlSource = "", ;
RightToLeft = .F., ;
Name = "Edit1"
PROCEDURE command1.Click
thisform.Release()
ENDPROC
ENDDEFINE
3.4 Форма registr.scx
В форме registr.scx (см. рис.4) можно не только зарегистрировать пользователей, но также их изменять и удалять.
Рис. 4
DEFINE CLASS form1 AS form
PROCEDURE Load
SET DELETE off
F1=SYS(5)
IF NOT USED('rega')
USE F1+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0
ELSE
SELECT rega
ENDIF
PUBLIC c
ENDPROC
PROCEDURE cmdsave.Click
F1=SYS(5)
IF NOT USED('rega')
USE F1+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0
ELSE
SELECT rega
ENDIF
IF c=2
APPEND BLANK
ENDIF
a1=thisform.pageframe1.Pagedit.text2.value
replace Login WITH thisform.pageframe1.pagedit.text1.Value
replace Pass WITH thisform.pageframe1.pagedit.text2.Value
replace adm WITH thisform.pageframe1.pagedit.text3.Value
c=0
thisform.pageframe1.pagedit.Enabled=.F.
thisform.pageframe1.paglist.Enabled=.T.
thisform.pageframe1.ActivePage=1
thisform.CmdAppendblank.Enabled=.T.
thisform.CmdEditblank.Enabled=.T.
thisform.CmdDelblank.Enabled=.T.
ENDPROC
PROCEDURE cmdcansel.Click
thisform.CmdAppendblank.Enabled=.T.
thisform.CmdEditblank.Enabled=.T.
thisform.CmdDelblank.Enabled=.T.
thisform.pageframe1.pagedit.Enabled=.F.
thisform.pageframe1.paglist.Enabled=.T.
thisform.pageframe1.ActivePage=1
c=0
ENDPROC
PROCEDURE cmdappendblank.Click
c=2
thisform.CmdAppendblank.Enabled=.F.
thisform.CmdEditblank.Enabled=.F.
thisform.CmdDelblank.Enabled=.F.
thisform.pageframe1.pagedit.Enabled=.T.
thisform.pageframe1.paglist.Enabled=.F.
thisform.pageframe1.ActivePage=2
thisform.pageframe1.pagedit.text1.Value=""
thisform.pageframe1.pagedit.text2.Value=0
thisform.pageframe1.pagedit.text3.Value=0
ENDPROC
PROCEDURE cmdeditblank.Click
c=1
thisform.CmdAppendblank.Enabled=.F.
thisform.CmdEditBlank.Enabled=.F.
thisform.CmdDelblank.Enabled=.F.
thisform.pageframe1.paglist.Enabled=.F.
thisform.pageframe1.pagedit.Enabled=.T.
thisform.pageframe1.ActivePage=2
thisform.pageframe1.pagedit.text1.Value=rega.login
thisform.pageframe1.pagedit.text2.Value=rega.pass
thisform.pageframe1.pagedit.text3.Value=rega.adm
ENDPROC
PROCEDURE cmddelblank.Click
SET DELETE on
Local nRetMsgBox,nRecno
nRetMsgBox=0
nRecno=0
nRetMsgBox=MESSAGEBOX("удалить текущую запись?",4+32+256,"удаление")
IF nRetMsgBox=6
DELETE
IF !EOF()
SKIP
ENDIF
IF EOF()
GO BOTTOM
ENDIF
IF EOF()
GO TOP
ENDIF
NDIF
THISFORM.REFRESH()
ENDPROC
PROCEDURE cmdexit.Click
IF USED([regs])
SELECT rega
USE
ENDIF
thisform.Release()
ENDPROC
ENDDEFINE
3.5 Форма spravka.scx
Форма spravka.scx (см. рис.5) выдает справку по пользованию всего приложения.
Рис. 5
DEFINE CLASS form1 AS form
Top = 2
Left = 24
Height = 371
Width = 612
DoCreate = .T.
Caption = "Справка"
Name = "Form1"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 336, ;
Left = 504, ;
Height = 27, ;
Width = 96, ;
Caption = "Закрыть", ;
Name = "Command1"
ADD OBJECT edit1 AS editbox WITH ;
BackStyle = 1, ;
BorderStyle = 0, ;
Height = 276, ;
Left = 24, ;
ReadOnly = .T., ;
Top = 48, ;
Width = 576, ;
BackColor = RGB(240,240,240), ;
Value = [Для того чтобы можно было слушать музыку, необходимо: 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 = "", ;
Name = "Edit1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 16, ;
FontCharSet = 204, ;
BackStyle = 0, ;
BorderStyle = 0, ;
Caption = "Справка", ;
Height = 27, ;
Left = 24, ;
Top = 12, ;
Width = 91, ;
ColorScheme = 1, ;
Name = "Label1"
PROCEDURE Load
ENDPROC
PROCEDURE command1.Click
thisform.release()
ENDPROC
ENDDEFINE
3.6 Форма vxod.scx
Форма vxod.scx (см. рис.6) определяет кем будет вновь вошедший и взависимости от того, кем он будет (администратор или пользователь) и будет выводиться соответствующее меню.
Рис. 6
DEFINE CLASS formset AS formset
PROCEDURE form1.Load
F2=SYS(5)
IF NOT USED([Rega])
USE F2+"\Kursovaya\dbfs\rega.dbf" exclusive IN 0
SELECT rega
ELSE
SELECT rega
ENDIF
INDEX on login + STR(pass) To loginidx
SET ORDER TO loginidx
ENDPROC
PROCEDURE form1.Unload
IF USED([rega])
SELECT rega
USE
ENDIF
ENDPROC
PROCEDURE command1.Click
F1=SYS(5)
* Ввод переменных
Log1=ALLTRIM(thisform.Text1.value)
Parol=ALLTRIM(thisform.text2.value)
* Проверка на верность логина и проверка администратор или простой пользователь
IF SEEK (Log1,"rega")
IF VAL(Parol)<>rega.pass
WAIT WINDOW ('неверный пароль!') AT 15, 73 NOWAIT
ELSE
thisform.Release()
IF rega.adm=0
WAIT WINDOW ('Добро пожаловать!') AT 15, 73 NOWAIT
DO F1+"\Kursovaya\Programm\polmen.prg"
thisform.Release()
ENDIF
IF rega.adm=1
WAIT WINDOW ('Добро пожаловать, администратор!') AT 15, 73 NOWAIT
DO F1+"\Kursovaya\Programm\admmen.prg"
thisform.Release()
ENDIF
ENDIF
ELSE
WAIT WINDOW ('Такой пользователь не обнаружен! Обратитесь к администратору.') AT 15, 73 NOWAIT
ENDIF
ENDPROC
PROCEDURE command2.Click
thisform.Release()
ENDPROC
ENDDEFINE
3.7 Класс vfpmci.vcx
Класс vfpmci.vcx (см. рис.7) предназначен для воспроизведения звука и видео в приложении.
Рис. 7
DEFINE CLASS vfpmci AS custom
PROTECTED status
status = 0
PROTECTED lload
lload = .F.
Name = "vfpmci"
PROCEDURE docmd
LPARAMETERS tcMCICommand
LOCAL lcRetMsg
lcRetMsg = SPACE(80)
this.Status = mciSendString(tcMCICommand, @lcRetMsg, 80, 0)
IF this.Status != 0
lcRetMsg = SPACE(160)
= mciGetErrorString(this.Status, @lcRetMsg, 160)
= MESSAGEBOX(ALLTRIM(lcRetMsg), 64, "MCI")
RETURN ""
ENDIF
RETURN alltrim(lcRetMsg)
ENDPROC
PROCEDURE open
LPARAMETERS tcFileName, tHWND
LOCAL lcCMD
IF VARTYPE(tcFileName) = "C" .and. FILE(tcFileName)
* Проверить, загружен ли в настоящий момент
* аудио или видеофайл; если да, то закрыть его.
IF this.lLoad
this.DoCMD("CLOSE mediafile")
ENDIF
tHWND = IIF(VARTYPE(tHWND) = "N", tHWND, 0)
* Если значение HWND формы передано методу, то видео будет выводиться
* в окне формы; иначе - в отдельном окне. При воспроизведении аудиофайла
* MCI игнорирует параметр STYLE
lcCMD = 'OPEN "' + tcFileName + '" ALIAS mediafile STYLE '
IF tHWND = 0
lcCMD = lcCMD + "Overlapped"
ELSE
lcCMD = lcCMD + "child parent " + LTRIM(STR(tHWND))
ENDIF
lcCMD = lcCMD + " WAIT"
this.DoCMD(lcCMD)
IF this.Status = 0
this.lLoad = .t.
ENDIF
ENDIF
ENDPROC
PROCEDURE play
IF this.lLoad
this.DoCMD("PLAY mediafile")
ENDIF
ENDPROC
PROCEDURE stop
IF this.lLoad
this.DoCMD("CLOSE mediafile")
this.lLoad = .f.
ENDIF
ENDPROC
PROCEDURE pause
IF this.lLoad
IF this.DoCMD("STATUS mediafile MODE") = "playing"
this.DoCMD("PAUSE mediafile")
ENDIF
ENDIF
ENDPROC
PROCEDURE getsize
LOCAL lcRetMsg, lnSize
lnSize = 0
IF this.lLoad
lcRetMsg = this.DoCMD("STATUS mediafile LENGTH")
IF this.Status = 0
lnSize = VAL(lcRetMsg)
ENDIF
ENDIF
RETURN lnSize
ENDPROC
PROCEDURE getposition
LOCAL lcRetMsg, lnPosition
lnPosition = 0
IF this.lLoad
lcRetMsg = this.DoCMD("STATUS mediafile POSITION")
IF this.Status = 0
lnPosition = VAL(lcRetMsg)
ENDIF
ENDIF
RETURN lnPosition
ENDPROC
PROCEDURE getvideodimension
PARAMETERS tnWidth, tnHeight
LOCAL lcRetMsg
IF this.lLoad
lcRetMsg = this.DoCMD('WHERE mediafile destination')
IF this.Status = 0
tnWidth = VAL(GETWORDNUM(lcRetMsg, 3, " "))
tnHeight = VAL(GETWORDNUM(lcRetMsg, 4, " "))
ENDIF
ENDIF
ENDPROC
PROCEDURE setvolume
LPARAMETERS tnVolume
IF VARTYPE(tnVolume) = "N"
IF tnVolume < 0
tnVolume = 0
ENDIF
IF tnVolume > 1000
tnVolume = 1000
ENDIF
IF this.lLoad
this.DoCMD("SETAUDIO mediafile volume to " + LTRIM(STR(tnVolume)))
ENDIF
ENDIF
ENDPROC
PROCEDURE setposition
LPARAMETERS tnPosition
LOCAL lcCMD, lnSize
IF VARTYPE(tnPosition) = "N"
IF this.lLoad
lcCMD = "SEEK mediafile to "
DO CASE
CASE tnPosition = -1 && В начало файла
lcCMD = lcCMD + "start"
CASE tnPosition = -2 && В конец файла
lcCMD = lcCMD + "end"
CASE tnPosition >= 0 && На заданную позицию
IF tnPosition <= this.GetSize()
lcCMD = lcCMD + LTRIM(STR(tnPosition))
ELSE
lcCMD = lcCMD + LTRIM(STR(this.GetSize()))
ENDIF
ENDCASE
this.DoCMD(lcCMD)
= INKEY(0.5)
ENDIF
ENDIF
ENDPROC
PROCEDURE setvideorect
LPARAMETERS tnLeft, tnTop, tnWidth, tnHeight
IF VARTYPE(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)
IF SetWindowPos(lnDestHwnd, 0, tnLeft, tnTop, tnWidth, tnHeight, 0) = 0
= MESSAGEBOX("Ошибка при изменении размеров окна для видео", 64, "MCI")
ENDIF
ENDIF
ENDIF
ENDPROC
PROCEDURE ready
IF this.lLoad
IF this.DoCMD("STATUS mediafile READY") = "true"
RETURN .t.
ENDIF
ENDIF
RETURN .f.
ENDPROC
PROCEDURE Destroy
this.Stop()
ENDPROC
PROCEDURE Init
DECLARE Long mciSendString IN WinMM.DLL String, String @, Long, Long
DECLARE Long SetWindowPos IN User32.dll ;
Long, Long, Long, Long, Long, Long, Long
DECLARE Long mciGetErrorString IN WinMM.DLL Long, String, Long
ENDPROC
ENDDEFINE
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 - Клепинин, Агафонова»
2. Сайт «www.znanija.com»
Размещено на Allbest.ru
Подобные документы
Создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных avi-файлах. Разработка модуля пользовательского интерфейса, выходные данные.
курсовая работа [41,5 K], добавлен 21.11.2014Общее представление о мультимедиа-технологиях. Цели применения продуктов, созданных в мультимедиа-технологиях. Мультимедийные ресурсы и средства разработки мультимедиа. Аппаратные средства, видео и анимация. Процесс создания мультимедийного проекта.
курсовая работа [307,6 K], добавлен 25.06.2014Характерные особенности мультимедиа-технологий. Особенности разработки мультимедиа-проигрывателя. Анализ удобного пользовательского интерфейса, эквалайзера регулятора громкости. Разработка строки описания треков, программы меню, информации "О программе".
курсовая работа [1,6 M], добавлен 12.12.2011Форматы и характеристики цифрового видео: частота кадра, экранное разрешение, глубина цвета, качество изображения. Типовый технологический процесс производства видеокомпонентов для мультимедиа продуктов с использованием программы miroVIDEO Capture.
лекция [2,7 M], добавлен 30.04.2009Создание программного обеспечения в среде Visual Basic for Applications для проведения теста по работе полушарий мозга человека. Описание команд. Разработка интерфейса и тестирование программы. Листинг приветствия и задаваемых пользователю вопросов.
курсовая работа [387,1 K], добавлен 09.03.2014Потоковое мультимедиа - мультимедиа, которое непрерывно получается пользователем от провайдера потокового вещания. Попытки отображения мультимедиа информации на компьютерах. Разработка сетевых протоколов потокового вещания и развитие интернет технологий.
курсовая работа [386,3 K], добавлен 21.12.2010Разработка базы данных FoxPro (БД), листинг программы. Работа с несколькими таблицами и установление взаимосвязей между ними. Система меню, формирование отчетов. Использование расширенных средств ввода и вывода данных. Организация справочной системы.
дипломная работа [1,7 M], добавлен 20.08.2009Характеристика программы Winamp — универсального проигрывателя от компании Nullsoft для воспроизведения файлов мультимедиа и потоковой передачи в среде Microsoft Windows. Описание интерфейса и настройка программы. Алгоритм создания музыкальной библиотеки.
курсовая работа [1,5 M], добавлен 15.02.2013Теоретические основы создания баз данных в Visual Foxpro 9.0. Описание программы, использование ее команд. Создание табличной базы данных, отношений между таблицами в многотабличной базе данных больных в больнице. Редактирование табличного отчета.
курсовая работа [681,2 K], добавлен 19.12.2013Создание тестовой программы на определение доминирующего полушария мозга у человека с применением наиболее распространенного языка Visual Basic for Applications. Выбор технических и программных средств. Интерфейс программы, ее тестирование и листинг.
курсовая работа [222,5 K], добавлен 08.01.2015