Шаг 90 - Знакомимся с MCI !!!

Я помню все твои трещенки
Пою твои мои песенки
........
Почему ????
	Земфира
MCI - Media Control Interface. Это интерфейс управления устройствами. Этот интерфейс позволяет программам для Windows взаимодействовать с множеством устройств - цифровыми audio, проигрывателями компакт дисков, видеодисков и так далее.

Управления устройствами производится на основе команд MCI. Каждое устройство определяет конкретный набор команд, которыми можно им управлять. Все функции MCI начинаются с префикса mci, вот например

 mciSendCommand
 mciGetDiveceID

Мы с Вами попробуем команду mciSendString для проигрывания WAV файлов как и в прошлый раз.

Создаем приложение Win32 Console как "Hello Word" с именем TestMCI. Подключаем заголовочные файлы.

#include "stdafx.h"
#include "windows.h"
#include "Mmsystem.h"

Незабудьте в проект добавить LIB файл - Winmm.lib, как в прошлый раз. Ну что пишем код ?

// TestMCI.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "Mmsystem.h"

int main(int argc, char* argv[])
{
	if (mciSendString("play c:\\windows\\media\\Chimes.wav",NULL,0,NULL)) 
	{
	printf("Error Command\n");
	}
	else printf("God Command\n");
	return 0;
}

Что это за команда mciSendString? Она просто посылает текстовую строку с командой устроству. Вот она какая.

MCIERROR mciSendString( 
  LPCTSTR lpszCommand,    	// строка команды
  LPTSTR lpszReturnString,  // буфер для информации о результат
  UINT cchReturn,         	// размер буфера опрделенного в параметрах
  HANDLE hwndCallback   	// указывает на окно для отклика
);

Почему я так поступил с MCIERROR, так в описании написано, вот что в Mmsystem.h

	typedef DWORD MCIERROR;	/* error return code, 0 means no error */
					/* код ошибки, 0 ошибки нет */

Как увидеть результат если нет колонок :-) У меня стоит звуковая карта, но колонок нет :-) то есть я отдал их в бухгалтерию, чтобы они послушали курс по 1С 7.5 на CD. Но все равно определить, что звук звучит :-))) извеняюсь за каламбур можно. Из рисунка всё поймете.

step90.gif (4161 b)

Запускайте и слушайте.

Я понимаю, что про MCI практически ничего не написал. Но само использование MCI требует отдельных шагов. Стратегия такая, если Вы заметили. В MFC Step by Step описываются только базовые возможности и показываются интерфейсы. Остальное делается в виде отдельных шагов по мере сил. Помните я упоминал про программирование для Интернет ? Смотрите Сокеты !!! Про ActiveX говорил ? Смотрите ActiveX по шагам.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 25.01.2000