我做了一个软件,在背景音乐播放过程中,要实现从一个文件夹内添加一个MID音乐文件到列表框中,对列表框中的音乐文件实现添加、播放和删除功能,播放形式有两种,循环播放和随机播放。
各位老大,能否帮助我写一写代码。我自己写了一些如下:
unit option;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Mmsystem,StdCtrls, Spin, Buttons, ExtCtrls;type
TTfrmoption = class(TForm)
Image1: TImage;
Image2: TImage;
GroupBox1: TGroupBox;
ListBox1: TListBox;
butOther: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
radloopplay: TRadioButton;
radramplay: TRadioButton;
GroupBox2: TGroupBox;
Label44: TLabel;
Label50: TLabel;
Label51: TLabel;
chkright: TCheckBox;
chkvoice: TCheckBox;
chkmusic: TCheckBox;
chkauto: TCheckBox;
AutoTime: TSpinEdit;
chkAutoshow: TCheckBox;
chksound: TCheckBox;
chkcounttime: TCheckBox;
SEchallengetime: TSpinEdit;
chklx: TCheckBox;
butSelect: TBitBtn;
BitBtn3: TBitBtn;
Open: TOpenDialog;
procedure BitBtn1Click(Sender: TObject);
procedure butOtherClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure butSelectClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure radloopplayClick(Sender: TObject);
procedure radramplayClick(Sender: TObject);
procedure AutoTimeChange(Sender: TObject);
procedure chkautoClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Tfrmoption: TTfrmoption;implementation{$R *.dfm}procedure TTfrmoption.BitBtn1Click(Sender: TObject);
begin mcisendstring('open c:\123.mid alias mid',nil,0,0);
mcisendstring('play mid notify',nil,0,handle);
end;procedure TTfrmoption.butOtherClick(Sender: TObject);
var
str:string;
begin
if open.Execute then
str:=open.FileName;
while pos('\',str)>0 do
begin str:=copy(str,pos('\',str)+1,(length(str)-pos('\',str)-1)); end;
end;
procedure TTfrmoption.BitBtn3Click(Sender: TObject);
begin
Close;
end;procedure TTfrmoption.butSelectClick(Sender: TObject);
beginend;procedure TTfrmoption.BitBtn2Click(Sender: TObject);
beginend;procedure TTfrmoption.ListBox1Click(Sender: TObject);
beginend;procedure TTfrmoption.radloopplayClick(Sender: TObject);
beginend;procedure TTfrmoption.radramplayClick(Sender: TObject);
beginend;procedure TTfrmoption.AutoTimeChange(Sender: TObject);
beginend;procedure TTfrmoption.chkautoClick(Sender: TObject);
beginend;end.
各位老大,能否帮助我写一写代码。我自己写了一些如下:
unit option;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Mmsystem,StdCtrls, Spin, Buttons, ExtCtrls;type
TTfrmoption = class(TForm)
Image1: TImage;
Image2: TImage;
GroupBox1: TGroupBox;
ListBox1: TListBox;
butOther: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
radloopplay: TRadioButton;
radramplay: TRadioButton;
GroupBox2: TGroupBox;
Label44: TLabel;
Label50: TLabel;
Label51: TLabel;
chkright: TCheckBox;
chkvoice: TCheckBox;
chkmusic: TCheckBox;
chkauto: TCheckBox;
AutoTime: TSpinEdit;
chkAutoshow: TCheckBox;
chksound: TCheckBox;
chkcounttime: TCheckBox;
SEchallengetime: TSpinEdit;
chklx: TCheckBox;
butSelect: TBitBtn;
BitBtn3: TBitBtn;
Open: TOpenDialog;
procedure BitBtn1Click(Sender: TObject);
procedure butOtherClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure butSelectClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure radloopplayClick(Sender: TObject);
procedure radramplayClick(Sender: TObject);
procedure AutoTimeChange(Sender: TObject);
procedure chkautoClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Tfrmoption: TTfrmoption;implementation{$R *.dfm}procedure TTfrmoption.BitBtn1Click(Sender: TObject);
begin mcisendstring('open c:\123.mid alias mid',nil,0,0);
mcisendstring('play mid notify',nil,0,handle);
end;procedure TTfrmoption.butOtherClick(Sender: TObject);
var
str:string;
begin
if open.Execute then
str:=open.FileName;
while pos('\',str)>0 do
begin str:=copy(str,pos('\',str)+1,(length(str)-pos('\',str)-1)); end;
end;
procedure TTfrmoption.BitBtn3Click(Sender: TObject);
begin
Close;
end;procedure TTfrmoption.butSelectClick(Sender: TObject);
beginend;procedure TTfrmoption.BitBtn2Click(Sender: TObject);
beginend;procedure TTfrmoption.ListBox1Click(Sender: TObject);
beginend;procedure TTfrmoption.radloopplayClick(Sender: TObject);
beginend;procedure TTfrmoption.radramplayClick(Sender: TObject);
beginend;procedure TTfrmoption.AutoTimeChange(Sender: TObject);
beginend;procedure TTfrmoption.chkautoClick(Sender: TObject);
beginend;end.
解决方案 »
- 关于GetWindowLong,在线等,解决立即给分.
- 动态生成quickRep报表的的问题,大家帮帮忙看一看(加200分,就这么多了)
- 不知是不是Delphi问题?
- 某个控件
- 求助,关于ADOQuery的使用,解决立即给分,在线等待
- 我做了一个activeform发布后可以正常浏览,可在输入字符时出问题了
- 关于打包的问题
- 对ComboBox使用api函数GetComboBoxInfo无效
- 各位兄弟,年终啦,我向老板要项目提成(他曾经答应的),可他找出种种理由拒绝,连年终奖也没有,请各位兄弟评评理
- 几个delphi的初级问题!应急!!!!!!!
- 在XP/2K 下实现 Win+Ctrl+Del 等键的屏蔽的方法,附源码与演示程序下载。
- 如何用createprocess调用带参数的命令行程序?
但是我希望能够更加灵活地选择音乐文件进行播放,可否用变量来写出来呢?
var
sName : String;
begin
//播放音乐
sName :='open'+Listbox1.ItemIndex+'Alias MR';
mciSendString(Pchar(sName),'',0,0);
mciSendString('play MR','',0,0);
end;
写成这个样子,请指教。
sName :='open'+Listbox1.ItemIndex+'Alias MR';//读列表框中加亮的音乐路径
为什么这样写不行呢,应该怎样写。
提示Listbox1.ItemIndex的类型不正确。
sndPlaySound(Pchar('C:\Error.wav'),0);
我的软件上有一个列表框LISTBOX,一个添加按钮,一个播放按钮,一个删除按钮,播放有两种形式,一种是循环播放,一种是随机播放。要求添加按钮时要读取文件包内的M3U文件,如果没有则创建这个M3U文件,一按播放就采取两种形式(循环或随机)之一的方式对列表框内的文件进行播放,注意列表框内的内容就是创建的M3U文件的内容。删除按钮则是对列表框(M3U文件)的内容进行删除。
各位老大,多多提供源码相助啊。