我做了一个简单的媒体播放器,可是老是有三处报错,各位大虾帮帮忙吧![:(]
出错的是再45,66,127[Error] Unit1.pas(66): Missing operator or semicolon
[Warning] Unit1.pas(127): Combining signed and unsigned types - widened both operands
[Error] Unit1.pas(45): Unsatisfied forward or external declaration: 'TForm1.DomediaOpen'
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, MPlayer,buttons,Mmsystem;type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
TrackBar1: TTrackBar;
Timer1: TTimer;
OpenDialog1: TOpenDialog;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
TrackBar2: TTrackBar;
TrackBar3: TTrackBar;
TrackBar4: TTrackBar;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
private
{ Private declarations }
public
{ Public declarations }
//音量控制中用到的全局变量
vol:longint;
//程序中用到的自定义函数
procedure DomediaOpen;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
close;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
waveoutgetvolume(0,@vol);
trackbar2.Position:=hi(vol);//设置左声道音量
trackbar3.Position:=hi(vol shr 16);//设置右声道音量
trackbar1.Position:=hi(vol)or hi(vol shr 16)
TrackBar2.Max:=trackbar1.Position;
TrackBar3.Max:=trackbar1.Position;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
if not opendialog1.Execute then
exit;
mediaplayer1.FileName:=opendialog1.FileName;
domediaopen;
button1.Click;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
trackbar4.Position:=0;
button2.Enabled:=false;
button3.Enabled:=false;
button1.Enabled:=false;
mediaplayer1.Stop;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
mediaplayer1.Pause;
button3.Enabled:=not button3.Enabled;
button1.Enabled:=not button1.Enabled;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if mediaplayer1.Mode=mppaused then
begin
button1.Enabled:=false;
button2.Enabled:=false;
button3.Enabled:=false;
mediaplayer1.Resume;
timer1.Enabled:=true;
end
else
begin
mediaplayer1.Open;
trackbar4.Max:=mediaplayer1.Length;
domediaopen;
mediaplayer1.Play;
timer1.Enabled:=false;
if mediaplayer1.Mode<>mpplaying then
mediaplayer1.Play;
button1.Enabled:=false;
button2.Enabled:=true;
button3.Enabled:=true;
end
end;procedure TForm1.TrackBar2Change(Sender: TObject);
var
pos,vol:longint;
begin//设置左声道的音量
trackbar2.Max:=trackbar1.Position;
pos:=trackbar2.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $ffff0000 or (pos shl 8);
waveoutsetvolume(0,vol);
end;procedure TForm1.TrackBar3Change(Sender: TObject);
var
pos,vol:longint;
begin //设置右声道的音量
trackbar3.Max:=trackbar1.Position;
pos:=trackbar3.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $0000ffff or (pos shl 24);
waveoutsetvolume(0,vol);end;procedure TForm1.TrackBar1Change(Sender: TObject);
var
pos,vol:longint;
begin
pos:=trackbar1.Position;
vol:=(pos shl 8)or(pos shl 24);
waveoutsetvolume(0,vol);end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if mediaplayer1.Mode=mpplaying then
begin
trackbar4.Position:=mediaplayer1.Position; end
else
begin
if mediaplayer1.Mode=mpstopped then
button2click(self);
timer1.Enabled:=false;
end
end;procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
case button of
btplay:
begin
caption:='playing';
end;
btpause:
begin
caption:='paused';
end;
btstop:
begin
caption:='stopped';
end;
btnext:
begin
caption:='next';
end;
btprev:
begin
caption:='previous';
end;
btstep:
begin
caption:='step';
end;
btback:
begin
caption:='back';
end;
btrecord:
begin
caption:='record';
end;
bteject:
begin
caption:='eject';
end
end;
end;
end.
出错的是再45,66,127[Error] Unit1.pas(66): Missing operator or semicolon
[Warning] Unit1.pas(127): Combining signed and unsigned types - widened both operands
[Error] Unit1.pas(45): Unsatisfied forward or external declaration: 'TForm1.DomediaOpen'
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, MPlayer,buttons,Mmsystem;type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
TrackBar1: TTrackBar;
Timer1: TTimer;
OpenDialog1: TOpenDialog;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
TrackBar2: TTrackBar;
TrackBar3: TTrackBar;
TrackBar4: TTrackBar;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
private
{ Private declarations }
public
{ Public declarations }
//音量控制中用到的全局变量
vol:longint;
//程序中用到的自定义函数
procedure DomediaOpen;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
close;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
waveoutgetvolume(0,@vol);
trackbar2.Position:=hi(vol);//设置左声道音量
trackbar3.Position:=hi(vol shr 16);//设置右声道音量
trackbar1.Position:=hi(vol)or hi(vol shr 16)
TrackBar2.Max:=trackbar1.Position;
TrackBar3.Max:=trackbar1.Position;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
if not opendialog1.Execute then
exit;
mediaplayer1.FileName:=opendialog1.FileName;
domediaopen;
button1.Click;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
trackbar4.Position:=0;
button2.Enabled:=false;
button3.Enabled:=false;
button1.Enabled:=false;
mediaplayer1.Stop;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
mediaplayer1.Pause;
button3.Enabled:=not button3.Enabled;
button1.Enabled:=not button1.Enabled;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if mediaplayer1.Mode=mppaused then
begin
button1.Enabled:=false;
button2.Enabled:=false;
button3.Enabled:=false;
mediaplayer1.Resume;
timer1.Enabled:=true;
end
else
begin
mediaplayer1.Open;
trackbar4.Max:=mediaplayer1.Length;
domediaopen;
mediaplayer1.Play;
timer1.Enabled:=false;
if mediaplayer1.Mode<>mpplaying then
mediaplayer1.Play;
button1.Enabled:=false;
button2.Enabled:=true;
button3.Enabled:=true;
end
end;procedure TForm1.TrackBar2Change(Sender: TObject);
var
pos,vol:longint;
begin//设置左声道的音量
trackbar2.Max:=trackbar1.Position;
pos:=trackbar2.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $ffff0000 or (pos shl 8);
waveoutsetvolume(0,vol);
end;procedure TForm1.TrackBar3Change(Sender: TObject);
var
pos,vol:longint;
begin //设置右声道的音量
trackbar3.Max:=trackbar1.Position;
pos:=trackbar3.Position;
waveoutgetvolume(0,@vol);
vol:=vol and $0000ffff or (pos shl 24);
waveoutsetvolume(0,vol);end;procedure TForm1.TrackBar1Change(Sender: TObject);
var
pos,vol:longint;
begin
pos:=trackbar1.Position;
vol:=(pos shl 8)or(pos shl 24);
waveoutsetvolume(0,vol);end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if mediaplayer1.Mode=mpplaying then
begin
trackbar4.Position:=mediaplayer1.Position; end
else
begin
if mediaplayer1.Mode=mpstopped then
button2click(self);
timer1.Enabled:=false;
end
end;procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
case button of
btplay:
begin
caption:='playing';
end;
btpause:
begin
caption:='paused';
end;
btstop:
begin
caption:='stopped';
end;
btnext:
begin
caption:='next';
end;
btprev:
begin
caption:='previous';
end;
btstep:
begin
caption:='step';
end;
btback:
begin
caption:='back';
end;
btrecord:
begin
caption:='record';
end;
bteject:
begin
caption:='eject';
end
end;
end;
end.
解决方案 »
- 请帮忙看看这个疑惑,DLL的
- 没有数据库的前提下,如何获得服务器的时间?局域网
- 如何显示rave报表?
- 请问如何锁定注册表的一个键,使它不能被其它应用程序删除?
- QuickRep在哪里?
- TListView 的OnClick 问题。
- 如何在STRINGGRID中只输入数字?请各位高手多多赐教。
- ADO出错信息列表
- SQL问题,很简单的
- 急急急!请问哪儿有InstallShield Professional - Windows Installer Edition2.03东方版(简体中文)汉化包下载?
- 怎么在delphi中的按钮中加图标啊,在线等~~
- 那里有《深入核心——VCL架构剖析》电子版下载。
前面的几个错误是这些地方少了分号;导致的语法错误。
最后的错误是DomediaOpen根本就没有定义。
procedure TForm1.FormCreate(Sender: TObject);
begin
waveoutgetvolume(0,@vol);
trackbar2.Position:=hi(vol);//设置左声道音量 trackbar3.Position:=hi(vol shr 16);//设置右声道音量
3trackbar1.Position:=hi(vol)or hi(vol shr 16)
TrackBar2.Max:=trackbar1.Position;
TrackBar3.Max:=trackbar1.Position;
end;}
====================================================
改为:
procedure TForm1.FormCreate(Sender: TObject);
begin
waveoutgetvolume(0,@vol);
trackbar2.Position:=hi(vol);//设置左声道音量
trackbar3.Position:=hi(vol shr 16);//设置右声道音量
trackbar1.Position:=hi(vol)or hi(vol shr 16);/////////////??
TrackBar2.Max:=trackbar1.Position;
TrackBar3.Max:=trackbar1.Position;
end;
还有那个函数究竟是怎么定义的呀!
太郁闷了,帮忙呀!
好人做到底呀!
UUUU
UUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUU UUUU
UUUU UUUU
UUUU UUUUUUUUUUUUUUUUUUUU
UUUU UUUU UUUU
UUUU UUUU UUUU
UUUU UUUU UUUU UUUU
UUUU UUUU UUUU UUUU
UUUU UUUU UUUU UUUU
UUUU UUUU UUUU UUUU
UUUU UUUU UUUU UUUU
UUUU UUUU UUUUUU UUUU
UUUU UUUUUU
UUUUUU UUUUUUUUUU
UUUU UUUUUU
UUUUUU UUUU
UUUU