Поделиться через


Обработка сообщения MM_WOM_DONE

В следующем примере показано, как обработать сообщение MM_WOM_DONE . В этом примере предполагается, что приложение не воспроизводит несколько блоков данных, поэтому оно может закрыть устройство вывода после воспроизведения одного блока данных.

// WndProc--Main window procedure. 
LRESULT FAR PASCAL WndProc(HWND hWnd, UINT msg, WPARAM wParam, 
    LPARAM lParam) 
{ 
switch (msg) 
{ 
    case MM_WOM_DONE: 
 
    // A waveform-audio data block has been played and 
    // can now be freed. 
    waveOutUnprepareHeader((HWAVEOUT) wParam, 
        (LPWAVEHDR) lParam, sizeof(WAVEHDR) ); 
    
    // Free hData memory. 
    
    waveOutClose((HWAVEOUT) wParam); 
    break; 
    } 
    return DefWindowProc(hWnd, msg, wParam, lParam); 
}