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



    d8ef8794     

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


// Проверяем, вставлен ли компакт-диск MCIStatus.dwItem = MCI_STATUS_MEDIA_PRESENT; mciSendCommand(MCIOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD)&MCIStatus);

// Если компакт-диск вставлен, определяем // количество звуковых дорожек if((!bMediaPresent) && MCIStatus.dwReturn) { bMediaPresent = TRUE; bPaused = FALSE; nCurTrack = 0;

MCIStatus.dwItem = MCI_STATUS_NUMBER_OF_TRACKS; mciSendCommand(MCIOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD)&MCIStatus);

nTrackCnt = MCIStatus.dwReturn;

// Устанавливаем диапазон изменения значений // для органа управления Trackbar SendMessage(hTrackBar, TBM_SETRANGE, TRUE, MAKELPARAM(1, nTrackCnt)); }

// Если компакт-диск не вставлен, сбрасываем // номер текущей дорожки в поле диалоговой панели else if((bMediaPresent) && !MCIStatus.dwReturn) { bMediaPresent = FALSE; bPaused = FALSE; }

// Если приложение находится в режиме проигрывания, // определяем номер текущей дорожки if(nCurMode == CD_PLAYING) { // Определяем текущую позицию MCIStatus.dwItem = MCI_STATUS_POSITION; mciSendCommand(MCIOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD)&MCIStatus);

// Если номер дорожки изменился, отображаем новое // значение в соответствующем поле диалоговой панели if(nCurTrack != (UINT)MCI_TMSF_TRACK(MCIStatus.dwReturn)) { nCurTrack = (UINT)MCI_TMSF_TRACK(MCIStatus.dwReturn); fNeedUpdate = TRUE; } } return fNeedUpdate; }

//----------------------------------------------------- // CdPlay // Запуск проигрывания дорожки //----------------------------------------------------- void CdPlay(HWND hwnd, UINT nTrack) { if(bMediaPresent) { bPaused = FALSE;

MCIPlay.dwCallback = (DWORD)hwnd; MCIPlay.dwFrom = MCI_MAKE_TMSF(nTrack, 0, 0, 0);

dwrc = mciSendCommand(MCIOpen.wDeviceID, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD)&MCIPlay); if(dwrc) mciwioError(dwrc); } }

//----------------------------------------------------- // CdStop // Останов проигрывания дорожки //----------------------------------------------------- void CdStop(void) { if(bMediaPresent) { bPaused = FALSE; nCurTrack = 0; mciSendCommand(MCIOpen.wDeviceID, MCI_STOP, 0, 0); } }




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