有關TrackBar的問題 |
尚未結案
|
redheart
一般會員 發表:2 回覆:1 積分:0 註冊:2005-01-05 發送簡訊給我 |
我製作一個mp3的播放器...可是我的trackbar不能拖曳,試了很多方法可是都無法拖...能不能幫助我...><
==>以下是我的程式碼 unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, ComCtrls, StdCtrls, ExtCtrls, Buttons; type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
TrackBar1: TTrackBar;
mp3: TMediaPlayer;
Timer1: TTimer;
mp3List: TListBox;
Openbtn: TBitBtn;
Playbtn: TBitBtn;
Pausebtn: TBitBtn;
Stopbtn: TBitBtn;
Backbtn: TBitBtn;
Nextbtn: TBitBtn;
procedure OpenbtnClick(Sender: TObject);
procedure PlaybtnClick(Sender: TObject);
procedure PausebtnClick(Sender: TObject);
procedure StopbtnClick(Sender: TObject);
procedure BackbtnClick(Sender: TObject);
procedure NextbtnClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
private
procedure Playmp3;
procedure BackTrack;
procedure NextTrack;
procedure UpdateProgress;
public
{ Public declarations }
end; var
Form1: TForm1;
mp3File : String;
playindex : integer = 0;
implementation {$R *.dfm} procedure TForm1.Playmp3;
begin
try
if mp3List.Items.Count > 0 then
begin
if mp3List.ItemIndex = -1 then
mp3List.ItemIndex := 0;
mp3File := mp3List.Items.Strings[mp3List.ItemIndex];
mp3.FileName := mp3File;
mp3.Open;
mp3.Play;
end;
except;
end;
end; procedure TForm1.NextTrack;
begin
try
playindex := mp3List.ItemIndex;
Inc(playindex);
if playindex = mp3List.Items.Count then
playindex := 0;
mp3List.ItemIndex := playindex;
mp3File := mp3List.Items.Strings[playindex];
mp3.FileName := mp3File;
mp3.Open;
if mp3.FileName = '' then
Playmp3
else
mp3.Resume;
except;
end;
end; procedure TForm1.BackTrack;
begin
try
playindex := mp3List.ItemIndex;
Dec(playindex);
if playindex < 0 then
playindex := 0;
mp3List.ItemIndex := playindex;
mp3File := mp3List.Items.Strings[playindex];
mp3List.ItemIndex := mp3List.ItemIndex;
mp3.FileName := mp3File;
mp3.Open;
if mp3.FileName = '' then
Playmp3
else
mp3.Resume;
except;
end;
end; procedure TForm1.UpdateProgress;
begin
try
TrackBar1.Enabled:=true;
TrackBar1.Max := mp3.length;
TrackBar1.Position := mp3.Position;
TrackBar1.Min := mp3.StartPos;
TrackBar1.Update;
mp3.Update;
if mp3.Position >= mp3.Length then
NextTrack;
except;
end;
end; procedure TForm1.OpenbtnClick(Sender: TObject);
var i : integer;
begin
if OpenDialog1.Execute then
for i := 0 to OpenDialog1.Files.Count-1 do
with mp3List do
mp3List.Items.Add(OpenDialog1.Files.Strings[i]);
end; procedure TForm1.PlaybtnClick(Sender: TObject);
begin
try
if mp3.FileName = '' then
Playmp3
else
mp3.Resume;
except;
end;
end; procedure TForm1.PausebtnClick(Sender: TObject);
begin
mp3.PauseOnly;
end; procedure TForm1.StopbtnClick(Sender: TObject);
begin
mp3.Stop;
mp3.Open;
end; procedure TForm1.BackbtnClick(Sender: TObject);
begin
try
BackTrack
except;
end;
end; procedure TForm1.NextbtnClick(Sender: TObject);
begin
try
NextTrack
except;
end;
end; procedure TForm1.Timer1Timer(Sender: TObject);
begin
if mp3.FileName <> '' then
UpdateProgress;
end; procedure TForm1.TrackBar1Change(Sender: TObject);
begin
TrackBar1.Position := mp3.Position;
end; end.
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
redheart
一般會員 發表:2 回覆:1 積分:0 註冊:2005-01-05 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |