Доброго времени суток. Помогите остановить mci и вернуть всё в начальную позицию. То есть, чтобы ни один трек не был выбран, а считывающая голова CD-Rom'a находилась на нулевой дорожке. Данный код, этого не делает, хотя, из файла справки по mci можно понять, что именно это и должно произойти после остановки (MCI_STOP). | Код | //Общие переменные var OpenParms: TMCI_Open_Parms; GenParms: TMCI_Generic_Parms; cdDevice: UINT; ... //В воспроизведение включено MCI_NOTIFY mciSendCommand(cdDevice,MCI_PLAY, MCI_NOTIFY,Longint(@PlayParms)); ... //Процедура остановки procedure StopCD; begin OpenParms.lpstrDeviceType := PChar(MCI_DEVTYPE_CD_AUDIO); cdDevice:= OpenParms.wDeviceID; mciSendCommand(cdDevice, MCI_STOP, MCI_NOTIFY, Longint(@GenParms)); mciSendCommand(cdDevice, MCI_CLOSE, 0, 0); end; ... //Ловим сообщение об окончании воспроизвдения MM_MCINOTIFY: begin if msg.wParam = MCI_NOTIFY_SUCCESSFUL then MessageBox(hwnd,'Disk is Cancel', '', MB_OK); StopCD; end; |
|