C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать

 89 - Немного звука / MFC шаг за шагом / Visual C++

Шаг 89 - Немного звука

В Windows уже заложена возможность работы со звуком и многими другими прелестями, к которым мы привыкли и которые немного ранее назывались мультимедиа. Многие из этих функций, в том числе и работа со звуком, состредоточены в Mmsystem.dll. Эта DLL находится в каталоге Windows\System\. Это обычное API. И естественно оно поддерживается в VC++. Описания этих функций находятся в заголовочном файле mmsystem.h.

Давайте создадим приложение как Win 32 Console и назовем его TestSound. Тип его возьмем как "Hello Word".

Мы не можем сразу подключить mmsystem.h, потому что для его работы необходим Windows.h, вот так должны быть объявлены заголовочные файлы.

#include "stdafx.h"
#include "windows.h"
#include "mmsystem.h"

Легче всего вывести на динамики WAV файл, для этого есть функция sndPlaySound.

BOOL sndPlaySound( 
 LPCSTR lpszSound,    	// путь и имя WAV файла
 UINT fuSound      	// параметры проигрования
 );

Вот теперь мы все знаем, чтобы написать код. Проще всего найти звуки в каталоге Windows\Media. Ну давайте писать код.

#include "stdafx.h"
#include "windows.h"
#include "mmsystem.h"

int main(int argc, char* argv[])
{

	int inResult;
	inResult=sndPlaySound("c:\\windows\\media\\Chimes.wav",SND_SYNC);
	if (inResult==FALSE) 	printf("Error sound\n");
	else printf("God sound \n");
	return 0;
}

Код мы написали, только вот собрать не сможем. Примерно такие ошибки должны быть..

TestSound.obj : error LNK2001: unresolved external symbol __imp__sndPlaySoundA@8
Debug/TestSound.exe : fatal error LNK1120: 1 unresolved externals

Конечно нужен LIB файл. Вы знаете как я выхожу из подобных ситуаций ? Вдруг пригодится. Сморите на картинке всё понятно :-)

step89.gif (7684 b)

Всё, что осталось сделать это включить этот LIB в Project -> Setting - > Link -> Object/Library module. И все можно запускать.


Загрузить проект | | |
Автор Каев Артем.
[AD]