Processando a mensagem de MM_WOM_DONE
O exemplo a seguir mostra como processar a mensagem de MM_WOM_DONE . Este exemplo pressupõe que o aplicativo não reproduza vários blocos de dados, portanto, ele pode fechar o dispositivo de saída depois de reproduzir um único bloco de dados.
// 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);
}