MediaPlayer1

xikboy 2011-03-24 02:58:18
我把要播的音乐放在listbox1 里。

我想逐一播或是随机播,但我设置了一个时间点,如:14:00 到14:00 自动停止播放,要不就一直循还播
放列表的歌曲。

搞了一下午,网上搜了要不看不懂,要不没有。


for i:=0 to rzlistbox1.Items.Count do
begin
j:=random(rzlistbox1.Items.Count) ;
MediaPlayer1.FileName:=rzlistbox1.Items.Strings[j] ;
MediaPlayer1.Open;
MediaPlayer1.Play ;
end;

这是写的,可只能播一首
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhuo 2011-03-24
  • 打赏
  • 举报
回复
至于停止播放也是可以通过另外一个Timer来控制.

例如我想 14:00到15:00停播

启动程序时我们应该能取到当前的时间,例如是12:30,
那么我就把该Timer的Intervalz值设置为(14:00-12:30)相差的毫秒数.
这样子,Timer就会在14:00的时候被触发,触发时也是一样做几样事:
1.把停播标志设置为True(可以加个私有变量来识别).
2.停止当前在播放的歌曲.
3.停止上面提到的下次播放的Timer的Enabled属性.
4.设置下次开始播放的Timer的触发时间.
chenzhuo 2011-03-24
  • 打赏
  • 举报
回复
说一说思路,你看能不能理解.

加一个Timer控件.

播放第一首的时候,计算这首歌的播放时间,然后以这个时间Interval(注意是单位是毫秒)
然后启动Timer.这样做的目的其实就是当你第一首歌播放完之后,Timer就被触发了.
在Timer触发的代码里要做几样事:
1.判断是否在禁播的时间范围内,是的话就不继续.
2.从ListBox1里选随即选出下一首歌
3.计算选择出来的歌播放时间,也是一样设置Interval
4.播放歌曲
5.启动Timer

5,392

社区成员

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

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