delphi 音乐播放地址出现问题(求救)

我找到了一个音乐播放代码:varmciOpenParms:TMCI_Open_Parms;m_MCIDeviceID:MCIDEVICEID;procedureTForm... 我找到了一个音乐播放代码:
var
mciOpenParms: TMCI_Open_Parms;
m_MCIDeviceID: MCIDEVICEID;
procedure TForm1.FormCreate(Sender: TObject);
var
mciPlayParms:MCI_PLAY_PARMS;
ret: integer;
begin
try
begin
mciOpenParms.lpstrDeviceType:='';
mciOpenParms.lpstrElementName := '做你的爱人.mp3';
mciSendCommand(0,MCI_OPEN,MCI_OPEN_ELEMENT,DWORD(@mciOpenParms));
m_MCIDeviceID := mciOpenParms.wDeviceID;
mciPlayParms.dwCallback := Form1.Handle;
mciPlayParms.dwFrom := 0;
ret := mciSendCommand(m_MCIDeviceID,MCI_PLAY,MCI_FROM or MCI_NOTIFY,integer(@mciPlayParms));
end;
except
end;
代码可以实现,但是我想让音乐的地址从edit中取,可是我试了很多次都不成功,报错:[Error] Unit1.pas(201): Incompatible types: 'String' and 'PAnsiChar'。求高手解决或者有其它的音乐播放代码也可以。速救,谢谢!
展开
 我来答
匿名用户
2011-05-24
展开全部
1) 启动DELPHI,打开一个新的标准工程。单击“component”菜单import activex control…,出现如图所示对话框
2)选择如图所示realplayer activex control library [version1.0]单击install按钮,出现对话框单击OK继续即可

在ACTIVE X标签页上可以找到REAL图标。
其主要属性有:autostart:自动开始 source:数据源,即其它多媒体的文件名。

1. 列表框LISTBOX
列表框表面上与编辑框很相似,但不同是在列表框内容可以放很多选项每一个选项都有自已的单击事件.
当列表框不能同时显示所有选项时,将自动加上一个垂直的滚动条,使用户可以上下滚动列表框,以查阅所有的选项.
常用的属性有:
ITEMS 以行为单位的,列表框中选项的集合,组合框也有.
ITEMSINDEX选项的索引值.
SORTED 决定选项是否排序
COLUMNS 决定列表框的列数,列表框也有.
MULTISELECT是否可以选择多项,列表框独有.
SELCOUNT表示被选中项的数目,只读,列表框独有
SELECTED 用来设置或返回某选项是否被选中.
例如: LISTBOX1.ITEMS.ADD(‘李小明’);
LISTBOX1.ITEMS.DELETE(5)删除第6行.
LISTBOX1.ITEMS.INSERT(3,’王二’);
LISTBOX1.ITEMS.MOVE(2,4);

procedure TForm1.ListBox1Click(Sender: TObject);
begin
if listbox1.ItemIndex=0 then
begin
realaudio1.Source:='G:\歌曲\小薇.mp3';
realaudio1.AutoStart:=true;
end;
if listbox1.ItemIndex=1 then
begin
realaudio1.Source:='G:\歌曲\爱你十分泪七分.mp3';
realaudio1.AutoStart:=true;
end;
if listbox1.ItemIndex=2 then
begin
realaudio1.Source:='G:\歌曲\别说我的眼泪你无所谓.mp3';
realaudio1.AutoStart:=true;
end;
if listbox1.ItemIndex=3 then
begin
realaudio1.Source:='G:\歌曲\当你孤单你会想起谁.mp3';
realaudio1.AutoStart:=true;
end;
if listbox1.ItemIndex=4 then
begin
realaudio1.height:=300;
realaudio1.Source:='G:\电影\新蜀山ssz01.rm';
realaudio1.AutoStart:=true;
end;
end;
end;
百度网友b21ba69cc
2011-05-25 · TA获得超过210个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:98万
展开全部
这很简单,将edit.text的字符串难过pchar进行转换,这样就没有问题。主要是类型的问题。
mciOpenParms.lpstrElementName := pchar(edit1.text);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liushuai52188
2011-05-25
知道答主
回答量:39
采纳率:0%
帮助的人:23.7万
展开全部
你选择一个opendialog控件
mciopenparms.lpstrelementname:=pchar(opendialog.filename);
从播放列表里选择要播放的歌曲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式