如何自动播放光驱中的vcd光盘(100分)

  • 主题发起人 主题发起人 小河涨水
  • 开始时间 开始时间

小河涨水

Unregistered / Unconfirmed
GUEST, unregistred user!
如何自动播放光驱中的vcd光盘
 
光盘已在光驱中,按mediaplayer中的play按钮可以自动辨别是CD还是VCD
并播放,还望各位高手给个这样的例子,因为我不懂各样的函数(小弟看了关于多媒体
400多个已答的问题,都没有适合我的,有适合我的,我却看不懂) 拜托了
 
首先要捕获设置改变消息
定义:
procedure CDChanged(var MMsg: TMessage);
message WM_DEVICECHANGE;
实现:
procedure TMainForm.CDChanged(var MMsg: TMessage);
begin

Case MMsg.WParam of
32768: //光盘放入
begin

CheckNewDisk;
TrayIsOpen := False;
end;

32772: //光盘取出
begin

StopPlaying;
TrayIsOpen := True;
end;

//WParam of 32768 = DBT_DEVICEARRIVAL
//WParam of 32772 = DBT_DEVICEREMOVECOMPLETE
else
DefWindowProc(MainForm.Handle,MMsg.Msg, MMsg.WParam, MMsg.LParam);
end;

end;

然后,判断光盘上是否有VCD文件就行了(VCD文件在光盘上的路径都是固定的)
 
判断光盘是CD还是VCD:
procedure TMainForm.CheckNewDisk;
begin

if FileExists(GetCDRomPath+'Track01.cda') then

begin

PlayCD;
end
else
if (FileExists(GetCDRomPath+'MPEGAV/Music01.dat')) or (FileExists(GetCDRomPath+'MPEGAV/Avseq01.dat')) then

begin

PlayVCD;
end;

end;

这些代码是我的程序中的部分代码,你试着理解一下,照搬过去是无法编译的
 
其实就是播放光盘中MPEGAV目录中的Music01.dat,Music02.dat
 
多人接受答案了。
 
还有什么问题给我EMAIL我给你一个圆满的解答呵呵呵呵
 
问题一直有,就是没有解决,请各位高手多多帮忙
小弟的Email
jzg-117@163.com
 
我有小例子
 
多人接受答案了。
 
后退
顶部