|
|
| version 1.3, 2003/11/21 06:51:15 | version 1.6, 2003/11/28 21:06:03 |
|---|---|
| Line 111 UINT soundmng_create(UINT rate, UINT ms) | Line 111 UINT soundmng_create(UINT rate, UINT ms) |
| if (waveopened) { | if (waveopened) { |
| return(0); | return(0); |
| } | } |
| mute = 1 << SNDPROC_NP2; | |
| switch(rate) { | switch(rate) { |
| case 11025: | case 11025: |
| type = 0; | type = 0; |
| Line 182 UINT soundmng_create(UINT rate, UINT ms) | Line 185 UINT soundmng_create(UINT rate, UINT ms) |
| currate = rate; | currate = rate; |
| curms = ms; | curms = ms; |
| waveopened = TRUE; | waveopened = TRUE; |
| TRACEOUT(("soundmng success.")); | |
| return(w_ctrl.samples); | return(w_ctrl.samples); |
| } | } |
| _MFREE(w_ctrl.buffer); | _MFREE(w_ctrl.buffer); |
| TRACEOUT(("soundmng failure.")); | |
| } | } |
| return(0); | return(0); |
| } | } |
| void soundmng_destroy(void) { | void soundmng_destroy(void) { |
| int i; | #if defined(_WIN32_WCE) |
| int retry = 10; | OSVERSIONINFO osvi; |
| #endif | |
| BOOL hpc4; | |
| int i; | |
| int retry = 10; | |
| if (waveopened) { | if (waveopened) { |
| #if (defined(WIN32_PLATFORM_PSPC)) || (!defined(ARM)) | #if defined(_WIN32_WCE) |
| for (i=0; i<2; i++) { | ZeroMemory(&osvi, sizeof(osvi)); |
| waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, | osvi.dwOSVersionInfoSize = sizeof(osvi); |
| GetVersionEx(&osvi); | |
| hpc4 = (osvi.dwMajorVersion >= 4); | |
| #else | |
| hpc4 = FALSE; | |
| #endif | |
| if (!hpc4) { | |
| for (i=0; i<2; i++) { | |
| waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, | |
| sizeof(WAVEHDR)); | sizeof(WAVEHDR)); |
| w_ctrl.wh[i].lpData = NULL; | w_ctrl.wh[i].lpData = NULL; |
| } | |
| waveOutPause(w_ctrl.hwave); | |
| waveOutReset(w_ctrl.hwave); | |
| } | } |
| waveOutPause(w_ctrl.hwave); | else { |
| waveOutReset(w_ctrl.hwave); | waveOutReset(w_ctrl.hwave); |
| #else | for (i=0; i<2; i++) { |
| waveOutReset(w_ctrl.hwave); | waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, |
| for (i=0; i<2; i++) { | |
| waveOutUnprepareHeader(w_ctrl.hwave, w_ctrl.wh + i, | |
| sizeof(WAVEHDR)); | sizeof(WAVEHDR)); |
| w_ctrl.wh[i].lpData = NULL; | w_ctrl.wh[i].lpData = NULL; |
| } | |
| } | } |
| #endif | |
| do { | do { |
| if (waveOutClose(w_ctrl.hwave) == MMSYSERR_NOERROR) { | if (waveOutClose(w_ctrl.hwave) == MMSYSERR_NOERROR) { |
| _HANDLE_REM(w_ctrl.hwave); | _HANDLE_REM(w_ctrl.hwave); |