Oke daar ik het probleem beter moest verklaren zal ik dat dan maar proberen.
Ik heb een media player geschreven in Delphi 6.0. Deze heeft een tweetal extra units, een voor het maken van een playlist. Deze unit werkt, je kan de playlist maken opslaan en bewerken. Hij wordt opgeslagen met als extentie .cpa
Daarna kun je em laden in de mediaplayer (dropdownbox).
Nu komt het:
Deze dropdownbox zal alleen de weergave moeten doen van de naam van de songs.
Ook zal ie na het laden gelijk moeten gaan spelen.
En zodra men een enkele song selecteerd en dan vervolgens op play drukt moet ie dus alleen die song spelen.
Tot slot zal de speler zelf altijd het liedje(of playlist) standaar moeten herhalen.
De code:
__________________________________________________________
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, MPlayer, ExtCtrls, Gauges, Menus, ComCtrls, jpeg;
type
TForm1 = class(TForm)
Gauge1: TGauge;
OpenDialog1: TOpenDialog;
Timer1: TTimer;
StatusBar1: TStatusBar;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
MediaPlayer1: TMediaPlayer;
MainMenu1: TMainMenu;
File1: TMenuItem;
Open1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Options1: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Image6: TImage;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Memo1: TMemo;
Panel8: TPanel;
openMain: TOpenDialog;
Panel9: TPanel;
Panel10: TPanel;
playbox: TComboBox;
procedure Timer1Timer(Sender: TObject);
procedure MediaPlayer1Notify(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure Open1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Options1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure Panel9Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure playboxClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, MainFormU;
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
gauge1.Progress := mediaplayer1.position;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
timer1.Enabled := false;
statusbar1.Panels [0].Text:='';
end;
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Plaing..';
end;
procedure TForm1.Open1Click(Sender: TObject);
begin
WITH OpenDialog1 DO
IF Execute THEN
BEGIN
Caption := 'Media Player -' +
ExtractFilename(filename);
MediaPlayer1.FileName := filename;
Filename:= '';
WITH MediaPLayer1 DO
BEGIN
open;
Gauge1.maxvalue := length;
Gauge1.progress := 0;
Timer1.enabled := true;
END;
END;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Plaing..';
mediaplayer1.Play ;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
mediaplayer1.Pause ;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
mediaplayer1.Stop;
mediaplayer1.Position := 0;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
mediaplayer1.play;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Options1Click(Sender: TObject);
begin
form2.showmodal;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
WITH OpenDialog1 DO
IF Execute THEN
BEGIN
Caption := 'CPA Media Player® } ' +
ExtractFilename( filename);
MediaPlayer1.FileName := filename;
Filename:= '';
WITH MediaPLayer1 DO
BEGIN
open;
Gauge1.maxvalue := length;
Gauge1.progress := 0;
Timer1.enabled := true;
END;
END;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
mediaplayer1.Stop ;
mediaplayer1.Rewind ;
gauge1.Progress := 0;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
mediaplayer1.Pause ;
end;
procedure TForm1.Panel3Click(Sender: TObject);
begin
if MessageBox(Handle,'Do you really want to exit?','Exit',MB_YESNO OR MB_IconWarning)=IDYES then
close;
end;
procedure TForm1.Panel2Click(Sender: TObject);
begin
Image6.visible := not Image6.visible;
end;
procedure TForm1.Panel7Click(Sender: TObject);
begin
panel6.Visible := not panel6.visible;
panel8.Visible := not panel8.visible;
panel9.Visible := not panel9.visible;
end;
procedure TForm1.Panel5Click(Sender: TObject);
begin
dd.showmodal;
end;
procedure TForm1.Panel4Click(Sender: TObject);
begin
//open de "open" dialoog
if openMain.Execute()=true then
begin
//laad de file tijdelijk in tmpMemo
Memo1.Lines.LoadFromFile(openMain.FileName);
//zet alle strings naar de list
Playbox.Items:=Memo1.Lines;
//maak tmpMemo leeg
Memo1.Lines.Clear();
Panel8.Caption:=openMain.Filename;
end;
end;
procedure TForm1.Panel9Click(Sender: TObject);
begin
{
maak de lijst "Selected" leeg
door de Items.Clear() functie
}
if MessageBox(Handle,'Do you want to clear the playlist?','Clear playlist',MB_ICONWARNING or MB_YESNOCANCEL)=IDYES then
begin
//Selected.Items.Clear();
playbox.Items.Clear();
end;
end;
procedure TForm1.Panel6Click(Sender: TObject);
begin
playbox.Visible := not playbox.visible;
panel6.Visible := not panel6.Visible;
end;
procedure TForm1.playboxClick(Sender: TObject);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Playing..';
mediaplayer1.Play ;
end;
end.
____________________________________________________________
Hopelijk is dit voldoende.
Ik ben als volgt te bereiken:
e-mail: delphi.help.code@infoadvocaten.nl
msn: zwedenweb@hotmail.com
al vast hartelijk dank.
Ik heb een media player geschreven in Delphi 6.0. Deze heeft een tweetal extra units, een voor het maken van een playlist. Deze unit werkt, je kan de playlist maken opslaan en bewerken. Hij wordt opgeslagen met als extentie .cpa
Daarna kun je em laden in de mediaplayer (dropdownbox).
Nu komt het:
Deze dropdownbox zal alleen de weergave moeten doen van de naam van de songs.
Ook zal ie na het laden gelijk moeten gaan spelen.
En zodra men een enkele song selecteerd en dan vervolgens op play drukt moet ie dus alleen die song spelen.
Tot slot zal de speler zelf altijd het liedje(of playlist) standaar moeten herhalen.
De code:
__________________________________________________________
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, MPlayer, ExtCtrls, Gauges, Menus, ComCtrls, jpeg;
type
TForm1 = class(TForm)
Gauge1: TGauge;
OpenDialog1: TOpenDialog;
Timer1: TTimer;
StatusBar1: TStatusBar;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
MediaPlayer1: TMediaPlayer;
MainMenu1: TMainMenu;
File1: TMenuItem;
Open1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Options1: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Image6: TImage;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Memo1: TMemo;
Panel8: TPanel;
openMain: TOpenDialog;
Panel9: TPanel;
Panel10: TPanel;
playbox: TComboBox;
procedure Timer1Timer(Sender: TObject);
procedure MediaPlayer1Notify(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure Open1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Options1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure Panel9Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure playboxClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, MainFormU;
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
gauge1.Progress := mediaplayer1.position;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
timer1.Enabled := false;
statusbar1.Panels [0].Text:='';
end;
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Plaing..';
end;
procedure TForm1.Open1Click(Sender: TObject);
begin
WITH OpenDialog1 DO
IF Execute THEN
BEGIN
Caption := 'Media Player -' +
ExtractFilename(filename);
MediaPlayer1.FileName := filename;
Filename:= '';
WITH MediaPLayer1 DO
BEGIN
open;
Gauge1.maxvalue := length;
Gauge1.progress := 0;
Timer1.enabled := true;
END;
END;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Plaing..';
mediaplayer1.Play ;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
mediaplayer1.Pause ;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
mediaplayer1.Stop;
mediaplayer1.Position := 0;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
mediaplayer1.play;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Options1Click(Sender: TObject);
begin
form2.showmodal;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
WITH OpenDialog1 DO
IF Execute THEN
BEGIN
Caption := 'CPA Media Player® } ' +
ExtractFilename( filename);
MediaPlayer1.FileName := filename;
Filename:= '';
WITH MediaPLayer1 DO
BEGIN
open;
Gauge1.maxvalue := length;
Gauge1.progress := 0;
Timer1.enabled := true;
END;
END;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
mediaplayer1.Stop ;
mediaplayer1.Rewind ;
gauge1.Progress := 0;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
mediaplayer1.Pause ;
end;
procedure TForm1.Panel3Click(Sender: TObject);
begin
if MessageBox(Handle,'Do you really want to exit?','Exit',MB_YESNO OR MB_IconWarning)=IDYES then
close;
end;
procedure TForm1.Panel2Click(Sender: TObject);
begin
Image6.visible := not Image6.visible;
end;
procedure TForm1.Panel7Click(Sender: TObject);
begin
panel6.Visible := not panel6.visible;
panel8.Visible := not panel8.visible;
panel9.Visible := not panel9.visible;
end;
procedure TForm1.Panel5Click(Sender: TObject);
begin
dd.showmodal;
end;
procedure TForm1.Panel4Click(Sender: TObject);
begin
//open de "open" dialoog
if openMain.Execute()=true then
begin
//laad de file tijdelijk in tmpMemo
Memo1.Lines.LoadFromFile(openMain.FileName);
//zet alle strings naar de list
Playbox.Items:=Memo1.Lines;
//maak tmpMemo leeg
Memo1.Lines.Clear();
Panel8.Caption:=openMain.Filename;
end;
end;
procedure TForm1.Panel9Click(Sender: TObject);
begin
{
maak de lijst "Selected" leeg
door de Items.Clear() functie
}
if MessageBox(Handle,'Do you want to clear the playlist?','Clear playlist',MB_ICONWARNING or MB_YESNOCANCEL)=IDYES then
begin
//Selected.Items.Clear();
playbox.Items.Clear();
end;
end;
procedure TForm1.Panel6Click(Sender: TObject);
begin
playbox.Visible := not playbox.visible;
panel6.Visible := not panel6.Visible;
end;
procedure TForm1.playboxClick(Sender: TObject);
begin
timer1.Enabled := true;
statusbar1.Panels [0].text:= 'Playing..';
mediaplayer1.Play ;
end;
end.
____________________________________________________________
Hopelijk is dit voldoende.
Ik ben als volgt te bereiken:
e-mail: delphi.help.code@infoadvocaten.nl
msn: zwedenweb@hotmail.com
al vast hartelijk dank.