用MCI控制波形声音的播放时,播放 下一首|上一首 的程序怎么写?

解决方案 »

  1.   

    int fr;//当前已播放的歌曲数 
    CString m_FileList[256];//歌曲路径列表数组 
    MCI_OPEN_PARMS mciopenparms;//打开 
    MCI_PLAY_PARMS mciplayparms;//播放 
    //以下用fr做下标,能在停止再播放时恢复上次的位置 
    mciopenparms.lpstrElementName=m_FileList[fr];//播放路径 
    mciopenparms.lpstrDeviceType=NULL;//文件类型为NULL,就可以支持全部类型 
    mciSendCommand(0,MCI_OPEN,MCI_DEVTYPE_WAVEFORM_AUDIO, 
    (DWORD)(LPVOID)&mciopenparms);//向MCI设备发送命令消息 m_count=mciopenparms.wDeviceID; 
    mciplayparms.dwCallback=NULL;//窗口拥有者句柄 
    cdlen=getinfo(MCI_STATUS_LENGTH);//得到曲目长度 
    cdto=MCI_MAKE_HMS(MCI_HMS_HOUR(cdlen),MCI_HMS_MINUTE(cdlen), 
    MCI_HMS_SECOND(cdlen));//根据长度计算出时、分、秒 
    mciplayparms.dwFrom=MCI_MAKE_HMS(0,0,0);//表示从哪儿开始播放吧 
    mciplayparms.dwTo=cdto;//表示放到哪儿为止 
    mciSendCommand(m_count,MCI_PLAY,MCI_TO|MCI_FROM, 
    (DWORD)(LPVOID)& mciplayparms); //发送播播放音乐时只需要改变fr的值来调节上一首和下一首歌曲