Hola. Tengo que hacer un sencillo reproductor para la escuela esta todo hecho pero cuando lo ejecuto sale un error "No mci device open" salen como 500 de estos cartelitos. La unica manera de que no salgan es que active la propiedad shareable pero da errores igualmente. ..gracias
Código Delphi
[-]
unit Uvideopas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, MPlayer , MMSystem;
type
TFrmVideo = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Splitter1: TSplitter;
MediaPlayer1: TMediaPlayer;
Button1: TButton;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
CheckBox1: TCheckBox;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure MediaPlayer1Notify(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
public
end;
var
FrmVideo: TFrmVideo;
implementation
{$R *.dfm}
procedure TFrmVideo.Button1Click(Sender: TObject);
var
Dlg: TOpenDialog;
begin
Dlg := TOpenDialog.Create(Self);
if MediaPlayer1.DeviceID =0 then
try
MediaPlayer1.Wait := True;
if Dlg.Execute then
begin
Self.BorderStyle := bsNone;
Panel2.Visible := True;
Self.WindowState := WsNormal;
MediaPlayer1.FileName := dlg.FileName;
MediaPlayer1.Open; MediaPlayer1.Play;
MediaPlayer1.DisplayRect := Panel1.ClientRect;
end;
finally
dlg.Free;
end;
end;
procedure TFrmVideo.CheckBox1Click(Sender: TObject);
begin
Timer1.Enabled := CheckBox1.Checked;
MediaPlayer1.Enabled := not CheckBox1.Checked;
if CheckBox1.Checked then
RadioGroup1.ItemIndex :=1;
end;
procedure TFrmVideo.FormCreate(Sender: TObject);
begin
WinExec(PChar('..\limpiar.bat'),SW_SHOWNORMAL);
Timer1.Interval := 1000 div 12;
Panel1.Color := clBlack
end;
procedure TFrmVideo.MediaPlayer1Notify(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 1 then
MediaPlayer1.Play;
end;
procedure TFrmVideo.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
CheckBox1.Checked := False;
end;
procedure TFrmVideo.RadioGroup2Click(Sender: TObject);
begin MediaPlayer1.Frames := RadioGroup2.ItemIndex +1;
end;
procedure TFrmVideo.Timer1Timer(Sender: TObject);
begin
if (MediaPlayer1.Position + MediaPlayer1.Frames) >
MediaPlayer1.Length then
MediaPlayer1.Position := 0;
MediaPlayer1.Step;
end;
end.