Мультимедиа для Windows

scam website with

Приложение MCICDPL


Если вы будете разрабатывать проигрыватель звуковых компакт-дисков, то можете взять за основу приложение MCICDPL (рис. 3.1), которое работает с устройством чтения CD-ROM при помощи управляющих сообщений MCI.

Рис. 3.1. Главное окно приложения MCICDPL

Исходный текст приложения представлен в листинге 3.1.

Листинг 3.1. Файл mcicdpl/mcicdpl.cpp

// ---------------------------------------- // Проигрыватель звуковых компакт-дисков // ----------------------------------------

#define STRICT #include <windows.h> #include <mmsystem.h> #include <mem.h> #include <stdlib.h>

#include "mcicdpl.hpp"

#define CD_EMPTY 0 #define CD_READY 1 #define CD_PLAYING 2 #define CD_PAUSED 3

// Прототипы функций BOOL InitApp(HINSTANCE); LRESULT CALLBACK _export WndProc(HWND, UINT, WPARAM, LPARAM); void mciwioError(DWORD dwrc); void Play(HWND hwnd, UINT nTrack);

// Имя класса окна char const szClassName[] = "MCICDP";

// Заголовок окна char const szWindowTitle[] = "MCI CD Player";

HINSTANCE hInst;

DWORD dwrc; UINT nTimerID;

MCI_OPEN_PARMS MCIOpen; MCI_SET_PARMS MCISet; MCI_STATUS_PARMS MCIStatus; MCI_PLAY_PARMS MCIPlay;

BOOL bMediaPresent = FALSE; BOOL bPaused = FALSE; UINT nMode = 0; UINT nCurTrack = 0; UINT nTrackCnt = 0;

HWND hwndCurTrack = NULL;

// ===================================== // Функция WinMain // ===================================== #pragma argsused

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { MSG msg; // структура для работы с сообщениями HWND hwnd; // идентификатор главного окна приложения

if(hPrevInstance) return FALSE;

// Инициализируем приложение if(!InitApp(hInstance)) return FALSE;

hInst = hInstance;

// Открываем устройство чтения компакт-дисков MCIOpen.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO; dwrc = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD)(LPVOID)&MCIOpen); if(dwrc) { mciwioError(dwrc); return -1; }

// Устанавливаем формат времени MCISet.dwTimeFormat = MCI_FORMAT_TMSF; dwrc = mciSendCommand(MCIOpen.wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID)&MCISet); if(dwrc) { mciwioError(dwrc); return -1; }




- Начало -  - Назад -  - Вперед -



Книжный магазин