Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* WATCOM=/opt/watcom PATH=$WATCOM/binl:$PATH INCLUDE=$WATCOM/h:$WATCOM/h/win LIB=$WATCOM/lib286:$WATCOM/lib286/dos wcl -bcl=windows main.c -q mmsystem.lib */
- #include <windows.h>
- #include <mmsystem.h>
- #include <stdlib.h>
- void error(const char* str)
- {
- MessageBox(0, str, "", 0);
- exit(1);
- }
- void CALLBACK _export waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
- {
- }
- int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
- HWAVEOUT hout;
- PCMWAVEFORMAT format;
- int result;
- FARPROC callback;
- callback = MakeProcInstance((FARPROC)waveOutProc, hInstance);
- if (callback == NULL)
- {
- error("MakeProcInstance failed");
- }
- format.wf.wFormatTag = WAVE_FORMAT_PCM;
- format.wf.nChannels = 1;
- format.wf.nSamplesPerSec = 11025;
- format.wf.nBlockAlign = 1;
- format.wf.nAvgBytesPerSec = 11025;
- format.wBitsPerSample = 8;
- if ((result = waveOutOpen(&hout, WAVE_MAPPER, (LPWAVEFORMAT)&format, (DWORD)callback, 0, CALLBACK_FUNCTION)) != MMSYSERR_NOERROR)
- {
- char errorMsg[256];
- waveOutGetErrorText(result, errorMsg, sizeof(errorMsg));
- error(errorMsg);
- }
- error("Success");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment