编写自己的CD播放器

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

最近这几天,买了张Jackson的CD碟子,每次放进去的时候,winamp就跳了出来播放。所以萌发了自己写个CD播放器的想法,说干就干。let's go...

编写媒体工具最经常要用到的就是mciSendString()和mciSendCommand()这2个函数了,虽然mciSendCommand()比前者的命令多了很多,但是使用起来更灵活一些,所以我选用了这个函数。

要打开一个媒体设备可以这样:

MCI_OPEN_PARMS OpenParms;

OpenParms.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;

OpenParms.wDeviceID = 0;

::mciSendCommand (NULL, MCI_OPEN, MCI_WAIT | MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_OPEN_SHAREABLE, (DWORD)(LPVOID) &OpenParms);

MCI_SET_PARMS SetParms;

SetParms.dwTimeFormat = MCI_FORMAT_TMSF;

::mciSendCommand(m_wDeviceID, MCI_SET, MCI_WAIT | MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &SetParms);

::mciSendCommand(m_wDeviceID, MCI_SEEK, MCI_SEEK_TO_START, NULL);

当然这些是简化过的代码,你还是得加比较多的检查,比如打开是否成功检查,设置时间参数格式是否正确,等等。由于mciSendCommand()中涉及的命令众多,初学者可能会感觉到恐惧,不过不用担心,有msdn的话,你慢慢看就行了。我们都是菜鸟,学的东西太多了!

在mciSendCommand()中已经有很多的命令你拿来就可以用的了,比如在mciSendCommand()的第二个参数设置为MCI_PLAY,MCI_PAUSE,MCI_STOP,则分别是播放cd,暂停播放cd和停止播放cd,等等。

下面是我写的一个很简单的cd播放器,让喜欢多媒体编程的vc爱好者有个大概的了解。

代码中包含了一个cd播放类,还有一个就是按钮派生类(CFXButton),读者可以直接使用。

cd播放器图如下:

文件下载: 点击下载 [120KB],[rar格式,下载 Winrar300sc ]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有