问题求救????如何向解霸一样石现自动播放VCD碟(100分)

  • 主题发起人 主题发起人 ghostbaby
  • 开始时间 开始时间
G

ghostbaby

Unregistered / Unconfirmed
GUEST, unregistred user!
有的VCD的mpegav目路下的文件是avseg??.dat有的是music??.dat该如和自动播放,另外,该如何判断光驱的盘符请大侠指点(最好有程序)先有礼了!!!
 
首先响应一个消息叫wm_devicechange之类的名称,可以知道cdrom的门关上
然后读cdrom内的盘的内容,如果能在/mpegav/目录里能得到*.dat文件的话
此碟为vcd碟,然后就播放了!
 
windows启动时要自动运行你的程序,
化作一只小图标放在右下角时钟旁边
等着接收消息 WM_DEVICECHANGE
wParam为 DBT_DEVICEARRIVAL 时进碟
wParam为 DBT_DEVICEQUERYREMOVE 时问你能不能出碟
wParam为 DBT_DEVICEREMOVECOMPLETE 时出碟
 
得到cdrom盘符:

GetLogicalDrives得到一个整数,这个整数要用32位2进制来看,从最低位表示a盘
开始,比如:
00011101
HGFEDCBA
每一位对一个字母,上面为1的表示有盘,上面表示有acde盘
然后用GetDriveType一个一个查,查到DRIVE_CDROM 类型就是cdrom
 
我想知道如何播放完avseg01.dat后能自动播放avseg02.dat并且能判断有没有avseg03.dat
 
FileExists 判断
 
...
var i:integer;
...
begin

...
i := 1;
while fileexists('avseg0'+inttostr(i)+'.dat')do

inc(i);
lastfile := 'avseg0'+inttostr(i-1)+'.dat';
...
 
我想知道如何播放完avseg01.dat后能自动播放avseg02.dat并且能判断有没有avseg03.dat
如果使用MCI的话,播放完毕的话会有NOTIFY消息的,收到消息后判断文件是否存在
如果存在就播放。
 
文件是否存在: if fileexists('avseg03.dat') then
文件存在;
 
你可以去看

http://www.gislab.ecnu.edu.cn/delphibbs/dispq.asp?LID=186334,我有一个控件贴在上面了
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
811
import
I
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部