怎么自动播放下一首歌曲?无论点击哪首音乐,都能正常播放!我这个只有点击mediaplayer控件上的按钮,才能点击音乐列表上的音乐,否则找不到音乐?请高人帮小弟一把,万分感谢中!代码如下:
var
  Form1: TForm1;
  music:array[0..17] of string=(
  'http://storage.pomoho.com/mv/music/a241351743_45a211a48ce4b912.mp3',
'http://ok.qiandao.net/UploadFiles/ziliao/luyinpeng/yaoting/023.mp3',
'http://www.hlj.stats.gov.cn/jy/XiuXianShiGuang/xxsg2006032819-01.mp3',
'http://www.zyhcs2009.com/images/djx.mp3',
'http://www.liba99.cn/res/pt/208/208031.mp3',
'http://cdn1-49.projectplaylist.com/e1/files/cdn5/mp3/2499257.mp3',
'http://music.js.vnet.cn/music/pop/我是女生-徐怀钰.mp3',
'http://www.jnjyw.edu.cn/MUSIC/MP3/750.MP3',
'http://www.yzzxxx.cn/music/baige.mp3',
'http://www.tplsjr.com/uploadfile/20096613393566517.mp3' ,
'http://www.wanchuanlin.org/music/danshenqingge.mp3',
'http://cdn1-56.projectplaylist.com/e1/static12/mp3/2670730.mp3',
'http://au.9you.com/s32/audio/xilashaonv.mp3',
'http://www.chillproductions.com/modules/releases/original_recipe-gino_vanilla.mp3',
'http://www.bjma.gov.cn/staticfile/Exhibition/kz-1/KZ/CANKAO/kz.files/xiazai/luguo.mp3',
'http://60.191.4.34/flashring/ringsheng/810030200182.wma',
'http://d1.fm.qq.com/2007/06/8/670444548/20070630170625.mp3',
'http://download.happyjn.com/mp3/madelibusiyi.mp3');
implementation{$R *.dfm}procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
  var DoDefault: Boolean);
begin
//if (listbox1.Selected[0]=true)or(mediaplayer1.FileName=music[0])then
case Button of
btPlay :
Timer1.Enabled := True ;
btPause:
Timer1.Enabled := False ;
btStop:
Timer1.Enabled := False ;
end;end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
if listbox1.selected[0]=true then
MediaPlayer1.FileName:=music[0];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[1]=true then
MediaPlayer1.FileName:=music[1];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[2]=true then
MediaPlayer1.FileName:=music[2];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[3]=true then
MediaPlayer1.FileName:=music[3];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[4]=true then
MediaPlayer1.FileName:=music[4];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[5]=true then
MediaPlayer1.FileName:=music[5];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[6]=true then
MediaPlayer1.FileName:=music[6];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[7]=true then
MediaPlayer1.FileName:=music[7];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[8]=true then
MediaPlayer1.FileName:=music[8];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[9]=true then
MediaPlayer1.FileName:=music[9];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[10]=true then
MediaPlayer1.FileName:=music[10];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[11]=true then
MediaPlayer1.FileName:=music[11];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[12]=true then
MediaPlayer1.FileName:=music[12];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[13]=true then
MediaPlayer1.FileName:=music[13];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[14]=true then
MediaPlayer1.FileName:=music[14];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[15]=true then
MediaPlayer1.FileName:=music[15];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[16]=true then
MediaPlayer1.FileName:=music[16];
MediaPlayer1.Open;
MediaPlayer1.Play;
if listbox1.selected[17]=true then
MediaPlayer1.FileName:=music[17];
MediaPlayer1.Open;
MediaPlayer1.Play;
Gauge1.MaxValue := MediaPlayer1.Length ;
Gauge1.Progress := MediaPlayer1.Position ;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if mediaplayer1.Mode =mpPlaying  then
begin
Gauge1.MaxValue := MediaPlayer1.Length ;
Gauge1.Progress := MediaPlayer1.Position;
end;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
If (MediaPlayer1.Position=Gauge1.MaxValue)and(mediaplayer1.Mode=mpStopped ) then
 begin
  mediaplayer1.FileName:=music[5];
  MediaPlayer1.next ;
  MediaPlayer1.Play;
 end;
begin
  Mediaplayer1.FileName:=music[6];
  MediaPlayer1.next ;
  MediaPlayer1.Play;
 end;
 //依次类推
end;

解决方案 »

  1.   

    哇靠,这代码给你简化一下吧,天!var
      i: Integer;
      s : string;
    begin
      i := ListBox1.ItemIndex;
      if i <> -1 then
      begin
        s := ListBox1.Items.Strings[i];
        MediaPlayer1.Close;
        MediaPlayer1.FileName := s;
        MediaPlayer1.Open;
        MediaPlayer1.Play;
      end;procedure TForm1.Timer1Timer(Sender: TObject);
    var
      MT: TMPModes;
    begin
     if MT = mpStopped then
     begin
       //这里处理一下,得到下一首 MP3 的路径,OK?
     end;
    end;
      

  2.   

    var
      MT: TMPModes;
    begin
      MT := MediaPlayer1.Mode;
     if MT = mpStopped then
     begin
       //处理得到下一首 MP3 的路径
     end;
    end;
      

  3.   

    该如何处理?请贴代码,因为程序不播放下一首,就算用MediaPlayer1.Position=Gauge1.MaxValue判断音乐在哪个位置?根本就不行!