DarkShadow44

waveOutOpen test 2

Jan 28th, 2024
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. /* 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 */
  2.  
  3. #include <windows.h>
  4. #include <mmsystem.h>
  5. #include <stdlib.h>
  6.  
  7. void error(const char* str)
  8. {
  9. MessageBox(0, str, "", 0);
  10. exit(1);
  11. }
  12.  
  13. void CALLBACK _export waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
  14. {
  15. }
  16.  
  17. int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  18. {
  19. HWAVEOUT hout;
  20. PCMWAVEFORMAT format;
  21. int result;
  22. FARPROC callback;
  23.  
  24. callback = MakeProcInstance((FARPROC)waveOutProc, hInstance);
  25. if (callback == NULL)
  26. {
  27. error("MakeProcInstance failed");
  28. }
  29.  
  30. format.wf.wFormatTag = WAVE_FORMAT_PCM;
  31. format.wf.nChannels = 1;
  32. format.wf.nSamplesPerSec = 11025;
  33. format.wf.nBlockAlign = 1;
  34. format.wf.nAvgBytesPerSec = 11025;
  35. format.wBitsPerSample = 8;
  36.  
  37. if ((result = waveOutOpen(&hout, WAVE_MAPPER, (LPWAVEFORMAT)&format, (DWORD)callback, 0, CALLBACK_FUNCTION)) != MMSYSERR_NOERROR)
  38. {
  39. char errorMsg[256];
  40. waveOutGetErrorText(result, errorMsg, sizeof(errorMsg));
  41. error(errorMsg);
  42. }
  43. error("Success");
  44. return 0;
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment