怎么自动播放下一首歌曲?

zhong198801 2009-11-18 12:01:30
怎么自动播放下一首歌曲?无论点击哪首音乐,都能正常播放!我这个只有点击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;
...全文
572 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjkto 2009-11-18
  • 打赏
  • 举报
回复
mark
zhong198801 2009-11-18
  • 打赏
  • 举报
回复
该如何处理?请贴代码,因为程序不播放下一首,就算用MediaPlayer1.Position=Gauge1.MaxValue判断音乐在哪个位置?根本就不行!
[Quote=引用 2 楼 sailxia 的回复:]
begin
  //这里处理一下,得到下一首 MP3 的路径,OK?
end;
end;
[/Quote]
qkhhxkj102 2009-11-18
  • 打赏
  • 举报
回复
学习
Frank.WU 2009-11-18
  • 打赏
  • 举报
回复
var
MT: TMPModes;
begin
MT := MediaPlayer1.Mode;
if MT = mpStopped then
begin
//处理得到下一首 MP3 的路径
end;
end;
Frank.WU 2009-11-18
  • 打赏
  • 举报
回复
哇靠,这代码。。。给你简化一下吧,天!

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;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧