Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   открыть>воспроизвести. (http://forum.oszone.net/showthread.php?t=119216)

Gold Dragon 05-10-2008 21:16 916582

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

--rocco--- 06-10-2008 20:18 917323

Когда учился в Политехе КарГТУ (окончил 2005г.) - писал программы для тренировки и соответственно практики.
Вот одна из них....
В размещении на форме элементов, и свойствах разберешся исходя из когда, может, что и усовершенствуешь
(привожу полный, чтобы не запарился):
(кнопки у меня в программе были наложены выборочно друг на друга, поэтому они скрывались и появлялись при кликах)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
MediaPlayer1: TMediaPlayer;
Button2: TButton;
Panel1: TPanel;
Button3: TButton;
Button4: TButton;
OpenDialog1: TOpenDialog;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
mediaplayer1.FileName:=opendialog1.FileName;
mediaplayer1.Open;
end;
if mediaplayer1.FileName<>'' then begin
button3.show;
button2.hide;
button1.hide;
button4.hide;
button5.show; end else button1.show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
mediaplayer1.stop;
mediaplayer1.close;
button2.Hide;
button3.Show;
button1.Show;
button4.hide;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
mediaplayer1.pause;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
mediaplayer1.Play;
button3.Hide;
button2.Show;
button1.hide;
button4.show;
button5.hide;
end;

end.

--rocco--- 06-10-2008 20:41 917349

Да ещё вот стандартная:

размести на форме компоненты:
- opendialog;
- button;
- mediaplayer.
далее:
- кликни на форме два раза мышью по компоненту button и в коде напиши(только если до размещения компонентов форма была чистая) --
увидиш следующее:

procedure TForm1.Button1Click(Sender: TObject);
begin
end;
end.

внеси свои изменения и вставь код, в итоге:

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.execute then begin mediaplayer1.filename := opendialog1.filename; mediaplayer1.open;
end;
end.

и всё...
запускай программу и смотри.
Если не изменяет память открой файл расширением - avi

Gold Dragon 07-10-2008 20:05 918186

ок,спасибо большое!работает!Понял,в чем ошибка.А если добавить такую фишку:изменять размер видео?

--rocco--- 09-10-2008 18:07 919830

Конкретизируйте Ваш вопрос:
по вертикали, горизонтали;
по объему;
по качеству;
и тд. и тп.

Gold Dragon 09-10-2008 22:15 920041

по объему(по горизонтали и по диагонали одновременно)

--rocco--- 11-10-2008 16:26 921257

Подсказка.
Сам по себе видеофайл можно представить как набор фиксированных кадров(предварительно разложить), а следовательно в упрощенном, но многозначно сложном варианте взять за основу обработку фотоснимков (как бы фиксированных кадров). Ну а далее полет фантазии.


Время: 18:24.

Время: 18:24.
© OSzone.net 2001-