请问如何才能像winmnap那样在歌曲列表里面双击一首歌就可以播放歌曲了?(50分)

  • 主题发起人 主题发起人 lk628025
  • 开始时间 开始时间
L

lk628025

Unregistered / Unconfirmed
GUEST, unregistred user!
我正在用delphi做一个类似winmnap那样的播放器,主要控件就用了
delphi自带的mediaplayer,列表控件用的是filelistbox,可是
如何才能像winmnap那样在歌曲列表里面双击一首歌曲就可以播放了呢?
我知道filelistbox有个支持双击的事件,可具体代码是怎么样的我就
不太清楚了。能把具体的代码告诉我吗?小弟在此不胜感激呀!
还有就是循环一首歌曲是怎么样做的呢?
 
procedure TForm1.FileListBox1DblClick(Sender: TObject);
var
i:integer;
begin

Edit1.Text := FileListBox1.FileName;
mediaplayer1.Stop;
mediaplayer1.FileName:=FileListBox1.FileName;
mediaplayer1.Play;
end;


循环嘛,那就建一个循环的列表,把文件地址都放进去,加个序号判断是否该重头来放不就行了.
 
看看有没有属性标明你双击的选定文件?然后对它操作就可以了
 
procedure TForm1.ListBox1DblClick(Sender: TObject);
var
I: Integer
begin

if ListBox1.Selected then

SomeCodes;
end;
 
filename属性可以包括你所点击文件的全部路径
就像楼上所做
循环播放好像在mediaplayer里面控制,看有没有repeat属性
 
可是你得先判断一首歌是否放完了才能开始循环呀,怎么判断呀?
 
mediaplayer里面没有repeat属性
 
如果像上面刀剑如梦所说的那样,我试了一下,就会弹出一个抱错的对话框(list index out of bounds(21079527)),怎么解决呢?
 
在一个Timer里面:
procedure TForm_Main.Timer1Timer(Sender: TObject);
begin

if MediaPlayer1.Position = MediaPlayer1.Length then

begin

//下一个文件的路径代码............
end;

end;

 
The following code declares an array of strings named ModeStr, indexed by the TMPModes type. The Caption of a form displays the string describing the current mode of the device.

Note: before running this example, initialize the Notify property of TMediaPlayer1 to True.

const

ModeStr: array[TMPModes] of string = ('Not ready', 'Stopped', 'Playing', 'Recording', 'Seeking', 'Paused', 'Open');

procedure TForm1.MediaPlayer1Notify(Sender: TObject);

begin

with Sender as TMediaPlayerdo

begin

Form1.Caption := ModeStr[Mode];
{ Note we must reset the Notify property to True }
{ so that we are notified the next time the }
{ mode changes }
Notify := True;
end;

end;


mediaplayer 有notify事件可以用的。看看帮助
 
多谢大家的支持,我已经实现了循环功能,下面要解决的就是双击问题了,
我会公平的为各位加分。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部