unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, Buttons, Menus, MPlayer, StdCtrls;const
ModeStr:array[TMPModes]of string=('readly','over','on playing',
'on recoder','on search','stop','open');
type
HMSRec=record
Hours:byte;
Minutes:byte;
Seconds:byte;
NotUsed:byte;
end; TMainForm = class(TForm)
MediaPlayer1: TMediaPlayer;
MainMenu1: TMainMenu;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
StatusBar1: TStatusBar;
TrackBar1: TTrackBar;
Timer1: TTimer;
Label1: TLabel;
OpenDialog1: TOpenDialog;
MainForm: TMenuItem;
Help1: TMenuItem;
open1: TMenuItem;
exit1: TMenuItem;
about1: TMenuItem;
procedure open1Click(Sender: TObject);
procedure exit1Click(Sender: TObject);
procedure about1Click(Sender: TObject);
procedure MediaPlayer1PostClick(Sender: TObject; Button: TMPBtnType);
procedure MediaPlayer1Notify(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
canTimerAutoChange:Boolean;
canTrackManualChange:Boolean;
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.open1Click(Sender: TObject);
var
TheLength:LongInt;
begin
if OpenDialog1.Execute then
begin
MediaPlayer1.FileName:=OpenDialog1.FileName;
Mediaplayer1.Open;
Caption:=OpenDialog1.FileName;
StatusBar1.Panels[0].Text:=OpenDialog1.FileName;
MediaPlayer1.Notify:=True;
end; canTimerAutoChange:=True;
TheLength:=MediaPlayer1.Length;
with HMSRec(TheLength) do
begin
Label1.Caption:=IntToStr(Minutes)+':'+IntToStr(Seconds);
end;
end;procedure TMainForm.exit1Click(Sender: TObject);
begin
MediaPlayer1.Close;
Close;
end;procedure TMainForm.about1Click(Sender: TObject);
begin
showmessage('fdsafsd')
end;procedure TMainForm.MediaPlayer1PostClick(Sender: TObject;
Button: TMPBtnType);
begin
StatusBar1.Panels[1].Text:=ModeStr[MediaPlayer1.Mode];
end;procedure TMainForm.MediaPlayer1Notify(Sender: TObject);
begin
StatusBar1.Panels[1].Text:=ModeStr[MediaPlayer1.Mode];
MediaPlayer1.Notify:=true;
end;procedure TMainForm.Timer1Timer(Sender: TObject);
var pos:LongInt;
begin
if(MediaPlayer1.FileName<>'')and canTimerAutoChange then
begin
canTrackManualChange:=False;
pos:=MediaPlayer1.Position*(Trackbar1.Max-Trackbar1.Min);
Trackbar1.Position:=(pos div MediaPlayer1.Length);
canTrackManualChange:=True;
end;
end;procedure TMainForm.TrackBar1Change(Sender: TObject);
begin
canTimerAutoChange:=False;
if canTrackManualChange then
with Mediaplayer1 do
Position:=(TrackBar1.Position+TrackBar1.Frequency)*Length Div (TrackBar1.Max-TrackBar1.Min);
canTimerAutoChange:=True;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
canTimerAutoChange:=False;
MediaPlayer1.TimeFormat:=tfHMS;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, Buttons, Menus, MPlayer, StdCtrls;const
ModeStr:array[TMPModes]of string=('readly','over','on playing',
'on recoder','on search','stop','open');
type
HMSRec=record
Hours:byte;
Minutes:byte;
Seconds:byte;
NotUsed:byte;
end; TMainForm = class(TForm)
MediaPlayer1: TMediaPlayer;
MainMenu1: TMainMenu;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
StatusBar1: TStatusBar;
TrackBar1: TTrackBar;
Timer1: TTimer;
Label1: TLabel;
OpenDialog1: TOpenDialog;
MainForm: TMenuItem;
Help1: TMenuItem;
open1: TMenuItem;
exit1: TMenuItem;
about1: TMenuItem;
procedure open1Click(Sender: TObject);
procedure exit1Click(Sender: TObject);
procedure about1Click(Sender: TObject);
procedure MediaPlayer1PostClick(Sender: TObject; Button: TMPBtnType);
procedure MediaPlayer1Notify(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
canTimerAutoChange:Boolean;
canTrackManualChange:Boolean;
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.open1Click(Sender: TObject);
var
TheLength:LongInt;
begin
if OpenDialog1.Execute then
begin
MediaPlayer1.FileName:=OpenDialog1.FileName;
Mediaplayer1.Open;
Caption:=OpenDialog1.FileName;
StatusBar1.Panels[0].Text:=OpenDialog1.FileName;
MediaPlayer1.Notify:=True;
end; canTimerAutoChange:=True;
TheLength:=MediaPlayer1.Length;
with HMSRec(TheLength) do
begin
Label1.Caption:=IntToStr(Minutes)+':'+IntToStr(Seconds);
end;
end;procedure TMainForm.exit1Click(Sender: TObject);
begin
MediaPlayer1.Close;
Close;
end;procedure TMainForm.about1Click(Sender: TObject);
begin
showmessage('fdsafsd')
end;procedure TMainForm.MediaPlayer1PostClick(Sender: TObject;
Button: TMPBtnType);
begin
StatusBar1.Panels[1].Text:=ModeStr[MediaPlayer1.Mode];
end;procedure TMainForm.MediaPlayer1Notify(Sender: TObject);
begin
StatusBar1.Panels[1].Text:=ModeStr[MediaPlayer1.Mode];
MediaPlayer1.Notify:=true;
end;procedure TMainForm.Timer1Timer(Sender: TObject);
var pos:LongInt;
begin
if(MediaPlayer1.FileName<>'')and canTimerAutoChange then
begin
canTrackManualChange:=False;
pos:=MediaPlayer1.Position*(Trackbar1.Max-Trackbar1.Min);
Trackbar1.Position:=(pos div MediaPlayer1.Length);
canTrackManualChange:=True;
end;
end;procedure TMainForm.TrackBar1Change(Sender: TObject);
begin
canTimerAutoChange:=False;
if canTrackManualChange then
with Mediaplayer1 do
Position:=(TrackBar1.Position+TrackBar1.Frequency)*Length Div (TrackBar1.Max-TrackBar1.Min);
canTimerAutoChange:=True;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
canTimerAutoChange:=False;
MediaPlayer1.TimeFormat:=tfHMS;
end;end.
出现这样的错误
Exception EMCIDeviceError in module Project2.exe at 0005cc9c.
无法通过给定的扩展名确定设备类型。帮我看看那里错了
谢谢
无法通过给定的扩展名确定设备类型。