|
|
#1
|
|||
|
|||
WMP в Delphi
Не могу разобраться с программой! Вроде бы все компиляцию проходит, НО видеофайл не проигрывается. Хочу чтобы проигрывание зависело от текста вводимого в edit! Вот мой код!
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, WMPLib_TLB, ExtCtrls, ComCtrls, ACTIVELISTENPROJECTLib_TLB; type TForm1 = class(TForm) WindowsMediaPlayer1: TWindowsMediaPlayer; Button1: TButton; Timer1: TTimer; Edit1: TEdit; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Edit1Change(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin WindowsMediaPlayer1.URL:='E:\777.avi'; WindowsMediaPlayer1.Controls.currentPosition:=0; WindowsMediaPlayer1.Controls.play; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if (WindowsMediaPlayer1.Controls.currentPosition = 7) then WindowsMediaPlayer1.Controls.currentPosition := 0; WindowsMediaPlayer1.Controls.play; end; procedure TForm1.Button4Click(Sender: TObject); begin if Edit1.Text='Цель' then begin WindowsMediaPlayer1.Controls.currentPosition:=0; WindowsMediaPlayer1.Controls.play; WindowsMediaPlayer1.URL:='E:\777' end else WindowsMediaPlayer1.URL:='E:\999.avi' end; procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Edit1.Clear(); end; procedure TForm1.Edit1Change(Sender: TObject); begin if Edit1.text<>' ' then Button4.Enabled:=true else Button1.Enabled:=false; end; end. Последний раз редактировалось Admin, 17.01.2014 в 19:59. |
#2
|
||||
|
||||
Открывать файл с диска в WindowsMediaPlayer1 нужно так:
WindowsMediaPlayer1.DefaultInterface.URL:='E:\777. avi'; WindowsMediaPlayer1.controls.play; |
#3
|
|||
|
|||
Не помогло! Результат такой же!
|
#4
|
||||
|
||||
Проверь свой код, у меня все работает.
Где именно не работает, если на кнопке Button4, то у тебя там ошибки: пропущено расширение файла в строке 'E:\777' (должно быть 'E:\777.avi') и в else добавь WindowsMediaPlayer1.Controls.play; и все должно работать. |
#5
|
|||
|
|||
Убрал вообще все что связано с edit и точно - проблема в button4. До этого все работало. Что здесь может быть не так(((( не пойму
Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin if (WindowsMediaPlayer1.Controls.currentPosition = 7) then WindowsMediaPlayer1.Controls.currentPosition := 0; WindowsMediaPlayer1.Controls.play; end; procedure TForm1.Button4Click(Sender: TObject); begin WindowsMediaPlayer1.Controls.play; WindowsMediaPlayer1.URL:='E:\777.avi' end; end. Последний раз редактировалось M.A.D.M.A.N., 19.01.2014 в 17:54. |
#6
|
||||
|
||||
Убери Timer и отслеживай изменение позиции плеера, через событие OnPositionChange (WindowsMediaPlayer1)
Вот код: Код:
procedure TForm1.WindowsMediaPlayer1PositionChange(ASender: TObject; oldPosition, newPosition: Double); begin if (newPosition = 7) then begin WindowsMediaPlayer1.controls.currentPosition := 0; WindowsMediaPlayer1.Controls.play; end; end; |