Операционная система Windows 95 для программиста



         

Исходные тексты приложения Compact Disk Player - часть 6


//----------------------------------------------------- // CdPause // Временный останов проигрывания дорожки //----------------------------------------------------- void CdPause(void) { if(bMediaPresent) { if(!bPaused) { bPaused = TRUE; mciSendCommand(MCIOpen.wDeviceID, MCI_PAUSE, 0, 0); } } }

//----------------------------------------------------- // CdResume // Возобновление проигрывания после временного останова //----------------------------------------------------- void CdResume(HWND hwnd) { if(bMediaPresent) { if(bPaused) { bPaused = FALSE; MCIPlay.dwCallback = (DWORD)hwnd; mciSendCommand(MCIOpen.wDeviceID, MCI_PLAY, MCI_NOTIFY, (DWORD)&MCIPlay); } } }

//----------------------------------------------------- // CdPlayNext // Проигрывание следующей дорожки //----------------------------------------------------- void CdPlayNext(HWND hwnd) { UINT nNewTrack;

if(bMediaPresent) { // Если текущая дорожка - последняя, // начинаем проигрывание с первой дорожки. // Если нет - проигрываем следующую дорожку if(nCurTrack == nTrackCnt) nNewTrack = 1; else nNewTrack = nCurTrack + 1;

CdPlay(hwnd, nNewTrack); } }

//----------------------------------------------------- // CdPlayPrev // Проигрывание предыдущей дорожки //----------------------------------------------------- void CdPlayPrev(HWND hwnd) { UINT nNewTrack; if(bMediaPresent) { // Если текущая дорожка - первая, // проигрываем последнюю дорожку if(nCurTrack <= 1) nNewTrack = nTrackCnt; else nNewTrack = nCurTrack - 1;

CdPlay(hwnd, nNewTrack); } }

//----------------------------------------------------- // CdEject // Выталкивание компакт-диска //----------------------------------------------------- void CdEject(void) { mciSendCommand(MCIOpen.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0); }

В файле cdplay.h (листинг 7.3) находятся описания функций, определенных в приложении Compact Disk Player.

Листинг 7.3. Файл cdplay\cdplay.h

BOOL APIENTRY DlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam); BOOL DlgProc_OnInitDialog(HWND hdlg, HWND hwndFocus, LPARAM lParam); void DlgProc_OnCommand(HWND hdlg, int id, HWND hwndCtl, UINT codeNotify); void DlgProc_OnTimer(HWND hwnd, UINT id); void DlgProc_OnHScroll(HWND hwnd,HWND hwndCtl,UINT code, int pos); void UpdateDlgControls(void); BOOL CdInit(void); void CdClose(void); void mciwioError(DWORD dwrc); BOOL CdUpdateState(HWND hdlg); void CdPlay(HWND hwnd, UINT nTrack); void CdStop(void); void CdPause(void); void CdResume(HWND hwnd); void CdPlayNext(HWND hwnd); void CdPlayPrev(HWND hwnd); void CdEject(void);




Содержание  Назад  Вперед