В 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 файл. Вы знаете как я выхожу из подобных ситуаций ? Вдруг пригодится. Сморите на картинке всё понятно :-)
Всё, что осталось сделать это включить этот LIB в Project -> Setting - > Link -> Object/Library module. И все можно запускать.