к следующему треку
на форме используются стандартный подход поиска файлов короче
(Filelistbox; filterComboBox; DirectoryListBox; DriveComboBox
от этих компонентов точнее от "Filelistbox" компонент "Mediaplayer" проигрывает
файл.
Вопрос как можно сделать (как реализовать) чтобы файлы находящиеся
в "Filelistbox" воспрроизводились "Mediaplayer" пока они там присутствуют?
Надеюсь вы мне сможете помочь. для этого я тут скину кодинг камуто обязательно понадобится
//////////////////////////////////////////////////////////////
// Igor valyev by 2006 year //
// //
// 'player Igor' //
////////////////////////////////////////////////////////////
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, FileCtrl, StdCtrls, ComCtrls, ExtCtrls, Gauges, Buttons,
jpeg, MMSystem;
type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
FilterComboBox1: TFilterComboBox;
MediaPlayer1: TMediaPlayer;
Gauge1: TGauge;
BitBtn1: TBitBtn;
Image2: TImage;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Gauge2: TGauge;
Timer1: TTimer;
Timer2: TTimer;
CheckBox2: TCheckBox;
Panel1: TPanel;
Image1: TImage;
Panel2: TPanel;
Timer3: TTimer;
Image3: TImage;
MediaPlayer2: TMediaPlayer;
Timer4: TTimer;
Label4: TLabel;
TimerLabel: TTimer;
Label5: TLabel;
procedure FileListBox1DblClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure TimerLabelTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SetParm: TMCI_Set_Parms;
SeekParm: TMCI_Seek_Parms;
TempFlags: Longint;
Start_From : Longint;
s: dword;
a,b: word;
h: hWnd;
Form1: TForm1;
LeftVolume: Word;
RightVolume: Word;
implementation
{$R *.dfm}
//prisvoenie file by directory list box
procedure TForm1.FileListBox1DblClick(Sender: TObject);
begin
with MediaPlayer1 do
begin
FileName:=FileListBox1.FileName;
Label5.Caption := fileListBox1.FileName;
Open;
mediaplayer1.Pause;
mediaplayer1.Stop;
mediaplayer1.Previous;
mediaplayer1.Back;
mediaplayer1.Next;
Play;
mediaplayer1.Eject;
end;
end;
//first gauge1
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
if FileName<>'' then
Gauge1.Progress:=Round(100*Position/Length);
end;
//close all
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;
//regulator LEFT
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
a:=trackbar1.position;
b:=trackbar2.position;
s:=(a shl 16) or b;
waveOutSetVolume(h,s);
end;
//regulator RIGHT
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
a:=trackbar1.position;
b:=trackbar2.position;
s:=(a shl 16) or b;
waveOutSetVolume(h,s);
end;
//vtoroy gauge2 koroche status
procedure TForm1.Timer2Timer(Sender: TObject);
begin
with MediaPlayer1 do
if FileName<>'' then
Gauge2.Progress:=Round(100*Position/Length);
end;
//procedure of display
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
with MediaPlayer1 do begin
if FileName='' then Exit;
Start_From:=Position;
Close;
Panel1.Refresh;
if CheckBox2.Checked then
Display:=Panel1
else
Display:=NIL;
Open;
Position:=Start_From;
Play;
end;
end;
//LABEL click
procedure TForm1.Label1Click(Sender: TObject);
begin
beep;
end;
//LABEL click
procedure TForm1.Label2Click(Sender: TObject);
begin
beep;
end;
//chtob panel view FALSE
procedure TForm1.Timer3Timer(Sender: TObject);
begin
panel2.Visible := false;
end;
//chtob izchez Image3 panel view FALSE
procedure TForm1.Image3Click(Sender: TObject);
begin
Image3.Visible := false;
panel2.Visible :=false;
end;
//zastavka MEDIAPLAYER 2
procedure TForm1.Timer5Timer(Sender: TObject);
begin
mediaplayer2.Stop;
mediaplayer2.Close;
end;
//zapusk zastavka sound
procedure TForm1.Timer4Timer(Sender: TObject);
begin
mediaplayer2.play;
timer4.Destroy;
end;
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
with mediaplayer1 do
mediaplayer1.next;
begin
mediaplayer1.FileName := filelistbox1.FileName ;
mediaplayer1.Open;
mediaplayer1.Play;
end;
end;
procedure TForm1.TimerLabelTimer(Sender: TObject);
begin
randomize;
label4.Color := random (form1.Color);
end;
end.