Кейде қолданушыға файлдардын кең түрлерін ойнатуға мүмкіндік беру қажет болады. Яғни бұл дегеніміз қолданушы файлды өзі қатты дискіден немесе CD-ROM-нан таңдау. Бұл жағдайда қалыпқа ойнатуды басқаруға арналған TmediaPlayer компонентін орнату керек болады.
Кейде программистке қолданушыдан TmediaPlayer компонентін жасыру керек болады. Яғни қолданушы ешқандай әрекеттерді орындамай-ақ дыбыс немесе видео автоматты түрде өзі ойнатылуы керек. Көбінесе дыбыс презентацияның бір бөлігі болып келеді.
Енді Windows Media Player ойнатқышының функциясын атқаратын программаны құруға кірісейік. Ең алдымен жаңа жоба құрайық(File | New Project). Қалыпқа TmediaPlayer компонентін қояйық; TFileListBox, TDirectoryListBox, TDriveComboBox, файлдарды таңдау үшін TfilterComboBox компоненттерін орналастырайық. DirectoryListBox1 және FilterComboBox1-дің FileList қасиетіне FileListBox1 мәнің қояйық. DriveComboBox1-дің DirList қасиетіне DirectoryListBox1 мәнің қояйық. FilterComboBox1-дің Filter қасиетінде қажет файлдың кеңейтілуін көрсетеміз:
AVI File(*.avi)|*.avi
WAVE File(*.wav)|*.wav
MIDI file(*.MID)|*.mid
FileListBox1-қа тышқанды екі рет шерткенде таңдалған файл ойнатылатын болсын. FileListBox1-дің OnDblClick оқиғаларды өңдеуішінде төмендегі программалық кодты көрсетейік:
Procedure TForm1.FileListBox1DblClick(Sender:TObject);
begin
with MediaPlayer1 do
begin
Close;
FileName:=FileListBox1.FileName;
Open;
Play;
end;
end;
Қ алыптын ішкі түрі 4-суретте көрсетілген:
4-сурет: Жобаның сыртқы көрінісі
Жобаны сақтап, жүктеп, қажетті файлды таңдап, оған тышқанды екі рет шертеміз. MediaPlayer бұл файлды жеке терезеде ойнату керек.
Жоғарыда айтылғандай видеоролик қалыптын ішінде де ойнатыла алады, мысалы, панельде. Сол үшін қалыпқа TPanel (5-сурет)компонентін орналастырайық. MediaPlayer1-дің Display қасиетінде Panel1-ді көрсетейік. Панельден мәтінді алыптастаймыз (Caption) және BevelOuter = bvNone. Ойнату кезінде жеке терезеден панельге ауысуды жүзеге асыру үшін қалыпқа TСheckBox компонентін орналастырып, OnClick оқиғаларды өңдеуішіне төмендегі программалық кодты жазамыз:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
Start_From : Longint;
begin
with MediaPlayer1 do begin
if FileName='' then Exit;
Start_From:=Position;
Close;
Panel1.Refresh;
if CheckBox1.Checked then
Display:=Panel1
else
Display:=NIL;
Open;
Position:=Start_From;
Play;
end;
end;
Жобаны жүктеп және видеороликті ойнатамыз. CheckBox-қа тышқанмен шертейік.
5-сурет
Кейде программаның орындалу барысында MediaPlayer объектісінің және роликтің өзінің ағымдағы жағдайын(ролик ұзындығын, ойнату барысынан бастап өткен уақыт) көрсету керек болады. Ол үшін ТmediaPlayer компонентінің сәйкес қасиеттері мен оқиғалары бар: Length, Position, OnNotify және т.б. Жобаға прогресс-индикатор (TGauge) компонентін қосайық, ол қанша уақыт өткенін пайыздық көрсеткішпен көрсетеді (6-сурет). Индикатор көрсеткішін жаңартып отыру үшін таймерді қолдануға болады. Қалыпқа Ttimer объектісін орналастырайық, ол үшін Interval = 100 (100 миллисекунд) деп берейік. Ал OnTimer оқиғаны өңдеуішінде төмендегі программалық кодты жазайық:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
if FileName<>'' then
Gauge1.Progress:=Round(100*Position/Length);
end;
Проектіні жүктеп, қажетті файлды таңдап, оған екі рет шертеміз. Роликті ойнату кезінде прогресс- индикатор өткен уақытқа сәйкес проценттік көрсеткішін көрсетеді. (6-сурет).
6-сурет: AVI, WAV және MDI файлдарды ойнататын программалық қосымша.
Достарыңызбен бөлісу: |